用C语言写求素数
以下是C语言代码,用于求解小于等于输入整数的所有素数。
#include <stdio.h>
int main() {
int n, i, j, isPrime;
printf("请输入一个整数:");
scanf("%d", &n);
printf("小于等于%d的素数有:\n", n);
// 从2开始遍历到n,判断每个数是否是素数
for (i = 2; i <= n; i++) {
isPrime = 1; // 假设i是一个素数
// 判断i是否能被小于i的数整除,如果能则不是素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
isPrime = 0; // i不是素数
break;
}
}
if (isPrime == 1) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
需要注意的是,本算法并不是最优解。在判断一个数是否为素数时,可以只判断小于等于它平方根的数即可。这样可以减少不必要的计算。
原文地址: http://www.cveoy.top/t/topic/bw0F 著作权归作者所有。请勿转载和采集!