Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _04_SieveOfEratosthenes
- {
- class Program
- {
- static void Main(string[] args)
- {
- int n = int.Parse(Console.ReadLine());
- bool[] AllNumbers = new bool[n + 1];
- Initiate(n, AllNumbers);
- int p = 2;
- int counter = 0;
- while (p < n)
- {
- p = Iterate(n, AllNumbers, p);
- if (counter == p)
- {
- break;
- }
- counter = p;
- }
- List<int> result = new List<int>(50);
- for (int i = 0; i < AllNumbers.Length; i++)
- {
- if (AllNumbers[i])
- {
- result.Add(i);
- }
- }
- Console.WriteLine(string.Join(" ", result));
- }
- private static int Iterate(int n, bool[] AllNumbers, int p)
- {
- for (int i = 2 * p; i <= n; i += p)
- {
- AllNumbers[i] = false;
- }
- for (int i = p + 1; i <= n; i++)
- {
- if (AllNumbers[i] == true)
- {
- p = i;
- break;
- }
- }
- return p;
- }
- private static void Initiate(int n, bool[] AllNumbers)
- {
- for (int i = 2; i <= n; i++)
- {
- AllNumbers[i] = true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement