Просте число – це натуральне число, яке ділиться без остачі на себе і на одиницю.
Метод для перевірки, чи є число простим
Виходячи з визначення простоти числа, напишемо метод для перевірки.
Просте число повинно задовольняти умови:
- Бути більшим за одиницю – умову перевіримо за допомогою умовного оператора if;
- Ділитись без остачі тільки на одиницю та на себе – в циклі перевіримо чи ділиться N без остачі, на числа з діапазону від 2 до N-1.
public static bool IsPrimeNumber(uint n)
{
var result = true;
if (n > 1)
{
for (var i = 2u; i < n; i++)
{
if (n % i == 0)
{
result = false;
break;
}
}
}
else
{
result = false;
}
return result;
}
Якщо число, яке передається в якості аргументу методу, є простим, метод повертає значення true та false в іншому випадку.
Використання методу перевірки числа N на простоту
Прості числа з діапазону від 0 до N
Використовуючи метод для перевірки, можемо вивести на екран всі прості числа з проміжку від 0 до N.
Програма для виводу простих чисел:
static void Main(string[] args)
{
Console.Write("N = ");
var n = Convert.ToUInt32(Console.ReadLine());
Console.WriteLine("Прості числа з діапазону ({0}, {1})", 0, n);
for (var i = 0u; i < n; i++)
{
if (IsPrimeNumber(i))
{
Console.Write($"{i} ");
}
}
Console.ReadLine();
}
Результат роботи програми:
N перших простих чисел
Після невеликої модифікації програми, можемо вивести необхідну кількість простих чисел.
Програма для виводу на екран N перших простих чисел:
static void Main(string[] args)
{
Console.Write("N = ");
var n = Convert.ToUInt32(Console.ReadLine());
Console.WriteLine("{0} перших простих чисел", n);
var count = 0u;
var i = 0u;
while (count < n)
{
if (IsPrimeNumber(i))
{
Console.Write(i);
if (count < n - 1)
{
Console.Write(", ");
}
count++;
}
i++;
}
Console.ReadLine();
}
Результат роботи програми: