Alik
Alikstatic 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] + " ");
}
}