C言語で素数かどうかを判定の方法
素数は、1と自分自身以外に約数を持たない整数のことをいいます。ある数が素数かどうかを判定する1つの方法として、その数で割り切れるかどうかを調べる除算があります。
素数判定のC言語コードの例:
#include <stdio.h>
int isPrime(int num) {
// 处理特殊情况:小于等于1的数不是素数
if (num <= 1) {
return 0;
}
// 遍历2到num-1之间的所有数
for (int i = 2; i < num; i++) {
// 如果num能够被i整除,则num不是素数
if (num % i == 0) {
return 0;
}
}
// num没有被2到num-1之间的任何数整除,是素数
return 1;
}
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
上記コードでは、isPrime() 関数は数値を素数かどうか判断するために使用されます。まず、特殊なケースを処理します。数値が 1 以下の場合は、素数ではないことを示す 0 を返します。次に、2 から数値の 1 つ前の値までのすべての数に対して順に繰り返し、数値を各数で割ることができるかどうかを判断します。数値がどれか 1 つの数値でも割り切れる場合は、素数ではないことを示す 0 を返します。数値がどの数でも割り切れない場合は、素数であることを示す 1 を返します。
main() 関数では、最初にユーザー入力から正の整数を受け取り、その整数が素数かどうかを `isPrime()` 関数で判定し、判定結果に応じてメッセージを出力します。
このプログラムを実行すると、数字を入力すると、それが素数かどうかを出力します。