阅读量:2
判断一个数是否为素数的方法是判断它是否只能被1和自身整除,即没有其他因子。以下是一种判断100以内素数的方法:
#include <stdio.h> int main() { int i, j, isPrime; printf("2 "); // 2是素数 for (i = 3; i <= 100; i += 2) { // 只判断奇数 isPrime = 1; // 假设i是素数 for (j = 3; j * j <= i; j += 2) { // 只判断小于等于i的奇数 if (i % j == 0) { isPrime = 0; // i能被j整除,说明i不是素数 break; } } if (isPrime) { printf("%d ", i); } } return 0; }
上述代码使用了两个循环嵌套,外层循环控制待判断的数范围,内层循环用于判断每个数是否为素数。首先,输出2作为特殊情况。然后外层循环从3开始递增,每次递增2,这样只判断奇数。内层循环从3开始递增,每次递增2,只判断小于等于待判断数的奇数。如果待判断数能被内层循环中的某个奇数整除,说明它不是素数,将isPrime
置为0,并跳出内层循环。如果内层循环结束时isPrime
仍为1,说明待判断数是素数,将其输出。