c语言判断101-200之间有多少个素数,并输出所有素数。
时间: 2023-04-25 07:03:02 浏览: 119
判断101-200之间有多少个素数,并输出所有素数
题目描述:
编写一个C程序,判断101-200之间有多少个素数,并输出所有素数。
解题思路:
素数是指只能被1和本身整除的数,因此我们可以从101开始,循环到200,判断每个数是否为素数。判断素数的方法是从2开始,一直到该数的平方根,判断是否能被整除。如果能被整除,则该数不是素数,否则是素数。
代码实现:
#include <stdio.h>
#include <math.h>
int main()
{
int i, j, flag;
printf("101-200之间的素数有:\n");
for(i=101; i<=200; i++)
{
flag = 1; //假设i是素数
for(j=2; j<=sqrt(i); j++)
{
if(i%j == 0) //如果能被整除,则不是素数
{
flag = 0;
break;
}
}
if(flag) //如果是素数,则输出
{
printf("%d ", i);
}
}
printf("\n");
return 0;
}
运行结果:
101-200之间的素数有:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
注意事项:
1. 判断素数的方法有很多种,本题只是其中一种。
2. 在判断素数时,可以优化循环次数,比如只循环到该数的一半即可。
3. 在判断素数时,可以优化除数的选择,比如只选择奇数作为除数。
阅读全文