Простое число – это натуральное число, которое делиться без остатка на себя и на единицу.
Метод для проверки, является ли число простым
Исходя из определения простоты числа, напишем метод для проверки.
Простое число должно удовлетворять условиям:
- Быть больше единицы – условие проверим с помощью условного оператора 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();
}
Результат работы программы: