Alik

Alik

Alik

static void Resheto_Eilera(int[] mas)

       {

           Console.WriteLine(" ");

           Console.WriteLine("Решето Эйлера: ");

           bool[] simple = new bool[mas.Length];

           for (int k = 0; k < mas.Length; k++)

           {

               simple[k] = true;

           }

           //пометим все числа кратные двум false

           for (int i = 1; i < mas.Length; i++)

           {

               if (mas[i] % 2 == 0 && mas[i] != 2)

                   simple[i] = false;

           }

           //пометим все составные числа false

           int key;

           for (int g = 2; g < mas.Length; g++)

           {

               for (int i = 0; i < mas.Length; i++)

               {

                   key = mas[i] * g;

                   for (int j = 0; j < mas.Length; j++)

                   {

                       if (mas[j] == key)

                           simple[j] = false;

                   }

               }

           }

           Console.WriteLine("Простые числа: ");

           for (int i = 0; i < mas.Length; i++)

           {

               if (simple[i] == true)

                   Console.Write(mas[i] + " ");

           }



       }

Report Page