WindFell

Sieve Of Eratosthenes

May 29th, 2018
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.14 KB | None | 0 0
  1. using System;
  2.  
  3. class SieveOfEratosthenes
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         int endNumber = int.Parse(Console.ReadLine());
  8.  
  9.         if (endNumber > 1)
  10.         {
  11.             GetPrimes(endNumber + 1);
  12.         }
  13.     }
  14.  
  15.     private static void GetPrimes(int endNumber)
  16.     {
  17.         bool[] arePrimes = new bool[endNumber];
  18.         int min = 0;
  19.  
  20.         arePrimes[0] = false;
  21.         arePrimes[1] = false;
  22.  
  23.         for (int index = 2; index < arePrimes.Length; index++)
  24.         {
  25.             arePrimes[index] = true;
  26.         }
  27.  
  28.         while (min <= endNumber)
  29.         {
  30.             for (int index = min; index < arePrimes.Length; index++)
  31.             {
  32.                 if (arePrimes[index])
  33.                 {
  34.                     min = index;
  35.                     Console.Write($"{min} ");
  36.                     break;
  37.                 }
  38.             }
  39.  
  40.             for (int index = min + 1; index < arePrimes.Length; index++)
  41.             {
  42.                 if (index % min == 0)
  43.                 {
  44.                     arePrimes[index] = false;
  45.                 }
  46.             }
  47.  
  48.             min++;
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment