Просте число

Оновлено: 08.03.2019

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

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

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

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

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

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

Прості числа з діапазону від 0 до 100

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();
}

Результат роботи програми: 15 перших простих чисел

Поділитися: Vk Ok