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関数を呼び出してその数が素数かどうかを判断し、結果を出力します。