mausha

Sieve of Eratosthenes

Feb 23rd, 2017
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. namespace E_SieveOfEratosthenes
  2. {
  3. using System;
  4. using System.Linq;
  5.  
  6. public class Eratosthenes
  7. {
  8. public static void Main()
  9. {
  10. var n = int.Parse(Console.ReadLine());
  11. if (n > 1)
  12. {
  13. var numbers = new int[n];
  14. for (int i = 0; i < n; i++)
  15. {
  16. numbers[i] = i + 1;
  17. }
  18.  
  19. var ifNotPrimes = GetPrimes(numbers);
  20.  
  21. for (int j = 0; j < n; j++)
  22. {
  23. if (ifNotPrimes[j] == false)
  24. {
  25. Console.Write($"{numbers[j]} ");
  26. }
  27. }
  28.  
  29. Console.WriteLine();
  30. }
  31. }
  32.  
  33. private static bool[] GetPrimes(int[] numbers)
  34. {
  35. var ifNotPrimes = new bool[numbers.Length];
  36. ifNotPrimes[0] = true;
  37.  
  38. for (int k = 1; k < numbers.Length; k++)
  39. {
  40. if (!ifNotPrimes[k])
  41. {
  42. for (int l = 1; l <= Math.Sqrt(numbers.Length); l++)
  43. {
  44. if (numbers[l] <= Math.Sqrt(numbers[k]))
  45. {
  46. if (numbers[k] % numbers[l] == 0 && k != l)
  47. {
  48. ifNotPrimes[k] = true;
  49. break;
  50. }
  51. else
  52. {
  53. ifNotPrimes[k] = false;
  54. }
  55. }
  56. else
  57. {
  58. break;
  59. }
  60. }
  61. }
  62. }
  63.  
  64. return ifNotPrimes;
  65. }
  66. }
  67. }
Advertisement
Add Comment
Please, Sign In to add comment