c语言

c语言怎么判断100以内的素数

小亿
171
2023-12-04 12:29:57
栏目: 编程语言

判断一个数是否为素数的方法是判断它是否只能被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,说明待判断数是素数,将其输出。

0
看了该问题的人还看了