На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Решето Эратосфена С#

  • В данной работе представлены ТОЛЬКО ИСХОДНИКИ проекта C# Visual Studio 2010 WinForms
  • Исходное задание на курсовую работу: Дано натуральное число n (n>=2). Найти все меньшие n простые числа, используя решето Эратосфена.

Анимация алгоритма.

Целое число, большее 1, называется простым, если оно не делится нацело ни на какое другое, кроме себя и 1.

Древний алгоритм «Решето Эратосфена» для поиска всех простых чисел до n выглядит так:

  • Создать список последовательных чисел от 2 до n2, 3, 4, ..., n.
  • Пусть p=2, это первое простое число.
  • Зачеркнуть все последующие числа в списке с разницей в p, т.е. 2*p, 3*p, 4*p и т.д. В случае p=2 это будут4,6,8....
  • Поменять значение p на первое не зачеркнутое число после p.
  • Повторить шаги 3-4 пока p2 < n.
  • Все оставшиеся не зачеркнутыми числа — простые.
Фрагмент программного кода
            //составляем список из чисел от 2 до n
            List<int> numbers = new List<int>();
            for (i = 2;i<=n;i++)
                numbers.Add(i);

            //для каждого числа
            for (i = 0; i<numbers.Count; i++)
            {
                //идем по остальным числам
                for (j=i; j<numbers.Count;j++)
                {
                    //вычеркиваем большие кратные числа
                    if ((numbers[i] != numbers[j]) && (numbers[j] % numbers[i] == 0))
                    {
                        numbers.RemoveAt(j);
                        j--;	
                    }
                }
            }

            richTextBox.AppendText("Простые числа:\n");
            String s = "";
            for (i=0; i<numbers.Count;i++)
                s += numbers[i].ToString() + " ";
            richTextBox.AppendText(s);

            //список хранения четерок
            List<int> four = new List<int>();
            //текущее число найденых чисел одного интервала и сам интервал
            int interval = 0;
            richTextBox.AppendText("\nЧетверки простых чисел:\n");

            for (i = 0; i<numbers.Count; i++)
            {
                //если первый или новый интервал сбрасываем значения
                if ((i == 0) || (numbers[i] / 10 != interval))
                {
                    interval = numbers[i] / 10;
                    four.Clear();
                }
                //если интервал не изменился записывем число
                if (numbers[i] / 10 == interval)
                {
                    four.Add(numbers[i]);

                    //если записано 4 числа выводим на экран
                    if (four.Count == 4)
                    {
                        s = "";
                        for (j = 0; j < 4; j++)
                            s += four[j].ToString() + " ";
                        richTextBox.AppendText(s+"\n");
                        
                    }
                }
            }

Содержание архива

  • исходный код  на C# WinForms для Visual Studio 
Купить 399,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (4)

klausms

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Похожие работы
Тип Название Рейтинг Категория Стоимость
Исходник Алгоритм Евклида, алгоритм Эратосфена, отыскание функции Эйлера, решение линейного сравнения C# 0 .NET (C#) 1 500,00
Купить

399,00 

Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

2. Решето Эратосфена.rar
441723
Оцени работу

рейтинг

Решето Эратосфена С#
Дано натуральное число n (n>=2). Найти все меньшие n простые числа, используя решето Эратосфена.
Категория: Образование
Стоимость: 399,00