找寻100以内所有的质数 - 用C语言实现
最编程
2024-08-08 20:35:41
...
以下是使用C语言编写的找出100以内素数的程序:
#include <stdio.h>
int main() {
int i, j, is_prime;
printf("2 "); // 输出2是素数
for(i = 3; i < 100; i += 2) { // 从3开始,步长为2,因为偶数除了2之外不可能是素数
is_prime = 1; // 假设i是素数
for(j = 3; j < i; j += 2) { // 从3开始,步长为2,因为偶数除了2之外不可能是素数
if(i % j == 0) { // 如果i可以被j整除,则i不是素数
is_prime = 0;
break;
}
}
if(is_prime) { // 如果i是素数,则输出
printf("%d ", i);
}
}
return 0;
}
程序中使用了两个嵌套循环,外层循环遍历3到100之间的奇数,内层循环判断当前的数字是否为素数。如果一个数字不能被除1和本身以外的数字整除,则它是一个素数。程序中首先输出2,然后在外层循环中从3开始遍历,每次递增2,以此来避免偶数。在内层循环中也是从3开始遍历,每次递增2。如果一个数字能被一个小于它的奇数整除,则它不是素数,将is_prime置为0,跳出内层循环。如果最终is_prime的值仍然为1,则说明当前数字是素数,输出即可。
注意,这个程序只能找到100以内的素数。如果您需要找到更大的素数,可以将循环的上限修改为相应的数字。