入门级C语言题,输入两个正整数a和b(a<b),输出在[a,b]区间内的所有素数的个数。
解决时间 2021-03-12 08:08
- 提问者网友:记得曾经
- 2021-03-11 12:34
答案总是不正确,到底是哪里有问题啊?
#include
#include
int main()
{
int a,b,c=0,d,e=0;
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++){
for(d=2;d<=i-1;d++){
if(i%d){
e++;
}
if(!(e-i+2)){
c++;
}
}
}
printf("%d\n",c);
system("pause");
}
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-03-11 13:12
scanf("%d%d",&a,&b);
if(!(e-i+2))
全部回答
- 1楼网友:青灯有味
- 2021-03-11 15:43
素数:有无限个,除了1和它本身以外不再有其他的因数。所以可以通过for循环从2到n-1依次整除n如果能整除则不是素数,否则就是素数。
参考代码:
#include
int fun(int n){//判断n是否是素数
int i;
for(i=2;i
- 2楼网友:笑迎怀羞
- 2021-03-11 14:57
#include
#include
int main()
{
int a,b,c=0,d,e=0;
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++){
if(i==2)
{
c++;
}
else
{
for(d=2;d<=i-1;d++)
{
if(i%d==0)
break;
}
if(d==i)
c++;
}
}
printf("%d\n",c);
system("pause");
return 0;
}
- 3楼网友:纵马山川剑自提
- 2021-03-11 14:07
#include
#include
int main()
{
int a,b,c=0,d,e=0;
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++){
for(d=2;d<=i-1;d++){
if (i%d) break;
if (i==d) c++;
}
}
printf("%d\n",c);
system("pause");
}
我要举报
大家都在看
推荐资讯