Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 11
1

Алгоритм "Решето Эратосфена": Разработать метод для определения простого числа

14.01.2012, 22:19. Показов 3965. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для решения задачи использовать массивы. Разработать:
1.Метод для определения простого числа.
2.Метод вывода простых чисел на консоль.

Я совсем запуталась в этом методе. Помогите пожалуйста правильно решить эту задачу.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2012, 22:19
Ответы с готовыми решениями:

Решето Эратосфена. По номеру простого числа найти это число
Найти n-ое по счёту простое число. Пример: 1 2 3 4 5 6 7 8 9 10 11 Из них простые 1 2 3 5 7 11...

Решето Эратосфена понять алгоритм.
Решето Эратосфена. Помогите пожалуйста понять алгоритм кода. На одном хостере видеороликов, ...

Разработать структурную схему программы - Решето Эратосфена
У меня есть также блок-схема к паскалю......но мне требуется сделать структурную схему программы к...

Создать программу,реализующую алгоритм Решето Эратосфена
Создать программу,реализующую алгоритм Решето Эратосфена

Алгоритм решето Эратосфена реализация через битовый массив
Найти все простые числа не превосходящие 1000. Использовать алгоритм решето Эратосфена и битовый...

5
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
14.01.2012, 22:30 2
Решето Эратосфена:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
 
class Program
{
    static bool[] Sieve(int size)
    {
        bool[] table = new bool[size];
        // Отмечаем все числа как простые 
        for (int i = 0; i < table.Length; i++)
            table[i] = true;
        // Вычеркиваем лишнее 
        for (int i = 2; i * i < table.Length; i++)
            if (table[i])
                for (int j = 2 * i; j < table.Length; j += i)
                    table[j] = false;
        return table;
    }
 
    static void Output(bool[] table)
    {
        // Выводим найденное 
        for (int i = 2; i < table.Length; i++)
            if (table[i])
                Console.WriteLine(i); 
    }
 
    static void Main()
    {
        Output(Sieve(100));
    }
}
1
44 / 44 / 3
Регистрация: 12.03.2011
Сообщений: 100
14.01.2012, 22:32 3
Вход: натуральное число n

Пусть A — булевый массив, индексируемый числами от 2 до n,
изначально заполненный значениями true.

Код
count := n - 1
для i := 2, 3, 4, ..., пока i^2 ≤ n:
  если A[i] == true:
    для j := i^2, i^2 + i, i^2 + 2i, ..., пока j ≤ n:
      если A[j] == true:
        A[j] := false
        count := count - 1
Теперь все числа i, такие что A[i] == true, являются простыми,
а переменная count содержит в себе их общее количество в массиве.
вот алгоритм с вики
0
0 / 0 / 0
Регистрация: 14.01.2012
Сообщений: 11
14.01.2012, 22:42  [ТС] 4
Blood-Angel, За комментарии отдельное спасибо - это очень помогает разобраться, только вот в чем вопрос - то что выводится на консоль я не могу даже посмотреть, т.к. окно само быстро исчезает,с чем это связано?
0
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
14.01.2012, 22:44 5
_Win32_, в Main в конец добавь:
C#
1
Console.ReadKey();
А связано с тем, что я в другом режиме запускаю программу и мне не нужно ее останавливать в конце.
1
79 / 79 / 12
Регистрация: 07.01.2012
Сообщений: 167
14.01.2012, 22:45 6
Добавь в main:
C#
1
2
3
4
5
6
static void Main()
    {
        Output(Sieve(100));
        Console.ReadLine();
 
    }
1
14.01.2012, 22:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2012, 22:45
Помогаю со студенческими работами здесь

Простые числа. Решето Эратосфена.
Cформировать массив из N чисел (N&lt;=250): a:=100sin(N+i*i). Сформировать массив b из целых частей...

Простые числа. Решето Эратосфена
Здравствуйте! Нужна ваша помощь, не могу понять условие этой задачи: Даны натуральное число n,...

Наибольший простой делитель числа и Решето Эратосфена
Необходимо найти наибольший простой делитель числа &quot;n&quot;, используя решето Эратосфена. Программа...

Вывести простые числа используя решето Эратосфена
Напишите программу, которая выводит все простые числа в диапазоне от 2 до N ( N заранее...

Вывести в файл простые числа алгоритмом Решето Эратосфена
У меня есть реализация алгоритма Решето Эратосфена. Мне нужно, чтобы простые числа выводились в...

Вывести все простые числа алгоритмом Решето Эратосфена
Моя задача вывести в файл все простые числа из диапазона . Для отбора простых чисел использовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru