Программа простых чисел C++: проверьте, является ли число простым

Вот программа на C++, проверяющая, является ли число простым:

#include <iostream>
bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }

    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return false;
        }
    }

    return true;
}
int main() {
    int number;
    std::cout << "Enter a number: ";
    std::cin >> number;

    if (isPrime(number)) {
        std::cout << number << " is a prime number." << std::endl;
    } else {
        std::cout << number << " is not a prime number." << std::endl;
    }

    return 0;
}

Эта программа принимает введенное пользователем число и проверяет, является ли оно простым числом или нет. Он использует базовый алгоритм для перебора от 2 до квадратного корня числа и проверяет, делит ли какое-либо из чисел входное число поровну. Если такой делитель не найден, число считается простым.

Вот несколько возможных методов определения простых чисел в C++:

  1. Метод грубой силы: проверьте делимость числа на все числа от 2 до квадратного корня.
  2. Решето Эратосфена: создайте список простых чисел до определенного предела и проверьте, присутствует ли входное число в списке.
  3. Пробное деление: проверьте делимость числа на простые числа до квадратного корня.
  4. Маленькая теорема Ферма: используйте модульное возведение в степень, чтобы проверить, удовлетворяет ли число теореме.
  5. Тест на простоту Миллера-Рабина: используйте вероятностный алгоритм, чтобы определить, является ли число простым.