Простое число

Простое число – это натуральное число, которое делиться без остатка на себя и на единицу.

Метод для проверки, является ли число простым

Исходя из определения простоты числа, напишем метод для проверки.

Простое число должно удовлетворять условиям:

  • Быть больше единицы – условие проверим с помощью условного оператора 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();
}

Результат работы программы:

Смотрите также: