C言語で素数を表現の方法
C言語では、数値が素数かどうかを判定する方法として以下が挙げられます。
- 2からn-1までを繰り返し辿り、nがそれらの数で割り切れるか確認する。nがどれかの数で割り切れるならnは素数ではない。どれの数字でも割り切れないならnは素数である。
#include <stdio.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i < n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
- より効率的なアルゴリズムを使用すれば、2からsqrt(n)までを調べればよい。nを割り切れる数が1つでも見つかった場合、nは素数ではない。割り切れる数が見つからなかった場合、nは素数である。
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
if (isPrime(n)) {
printf("%d是素数\n", n);
} else {
printf("%d不是素数\n", n);
}
return 0;
}
入力された整数が素数かどうかを判定し、結果を出力するコード。