C++で数が素数かどうかを判定する方法は何ですか。

素数かどうかを判定するためには、以下の方法を使用することができます。

#include <iostream>
#include <cmath>

bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }

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

    return true;
}

int main() {
    int num;
    std::cout << "请输入一个整数:";
    std::cin >> num;

    if (isPrime(num)) {
        std::cout << num << "是素数" << std::endl;
    } else {
        std::cout << num << "不是素数" << std::endl;
    }

    return 0;
}

上記のコードでは、isPrime関数を定義しており、その関数は整数を受け取り、その整数が素数であるかを示すブール値を返します。 関数の内部で、2からその数の平方根までの範囲で割り算を行い、その数を割り切る因子があるかどうかを判断します。 もしあれば、その数は素数ではありません。

main関数では、ユーザーから整数を入力し、isPrime関数を呼び出してその数が素数かどうかを判断し、結果を出力します。

bannerAds