Написание программу с использованием алгоритма "Решето Эратосфена " - C#

Узнай цену своей работы

Формулировка задачи:

Написание программу с использованием алгоритма "Решето Эратосфена ".", Которая подсчитывает все простые числа в диапазоне от 2 до 2000000 (в этом диапазоне находится 148933 простых числа) и подсчитать время ее выполнения для заданного диапазона при реализации с помощью языка C # (. NET) и с помощью языка C ++.

Решение задачи: «Написание программу с использованием алгоритма "Решето Эратосфена "»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace ConsoleApplication1
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n, i, j;
  14.             int count = 0;
  15.             Console.Write("Число: ");
  16.             n = int.Parse(Console.ReadLine());
  17.  
  18.             int[] a = new int[n];
  19.             var timer1 = new Stopwatch();
  20.             var timer2 = new Stopwatch();
  21.  
  22.             timer1.Start();
  23.             for (i = 0; i < n; i++)
  24.             {
  25.                 a[i] = 1;
  26.             }
  27.             for (i = 2; i < n; i++)
  28.             {
  29.                 if (a[i] == 1)
  30.                 {
  31.                     for (j = i; j < n; j += i)
  32.                     {
  33.                         a[j] = 0;
  34.                     }
  35.                     a[i] = 1;
  36.                 }
  37.             }
  38.             timer1.Stop();
  39.  
  40.             timer2.Start();
  41.             for (i = 2; i < n; i++)
  42.             {
  43.                 if (a[i] == 1)
  44.                 {
  45.                     Console.WriteLine(i);
  46.                     count++;
  47.                 }
  48.             }
  49.             timer2.Stop();
  50.  
  51.             Console.WriteLine("Затрачено на обработку: {0}мс\nЗатрачено на вывод: {1}мс", timer1.ElapsedMilliseconds, timer2.ElapsedMilliseconds);
  52.             Console.WriteLine("Количество простых чисел: "+count);
  53.             Console.ReadKey();
  54.         }
  55.     }
  56. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы