Advertisement
APXOHT

Untitled

Jan 6th, 2013
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.98 KB | None | 0 0
  1. using System;
  2.  
  3. class SieveOfEratosthenes
  4. {
  5.     static void Main()
  6.     {
  7.         long[] numbers = new long[10000000];
  8.         for (long i = 0; i < 10000000; i++)
  9.         {
  10.             numbers[i] = i + 1;
  11.         }
  12.  
  13.         long divider;
  14.         long limit = (long)Math.Sqrt(10000000);
  15.  
  16.         for (long i = 2; i < limit && numbers[i] != 0; i += 2)
  17.         {
  18.             if (numbers[i] != 0)
  19.             {
  20.                 divider = numbers[i];
  21.                 for (long j = (numbers[i] * numbers[i]) - 1; j < numbers.Length && numbers[j] != 0; j += 2)
  22.                 {
  23.                     if (numbers[j] % divider == 0)
  24.                     {
  25.                         numbers[j] = 0;
  26.                     }
  27.                 }
  28.             }
  29.         }
  30.  
  31.         Console.Write("2 ");
  32.  
  33.         for (long i = 2; i < numbers.Length; i+=2)
  34.         {
  35.             if (numbers[i] != 0)
  36.             {
  37.                 Console.Write(numbers[i] + " ");
  38.             }
  39.         }
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement