c语言求100-200之间的素数
以下是我自己编的程序,求大神帮我纠错,万分感激!!(我看了网上的其他答案,都是引入了第三个变量,可不可只用两个变量就做出来呢?)#include<stdio.h>main...
以下是我自己编的程序,求大神帮我纠错,万分感激!!(我看了网上的其他答案,都是引入了第三个变量,可不可只用两个变量就做出来呢?)
#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200;i++)
{for(j=2;j<i;j++)
{if (i%j==0) break;
printf("%d\n",i);}}
} 展开
#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200;i++)
{for(j=2;j<i;j++)
{if (i%j==0) break;
printf("%d\n",i);}}
} 展开
5个回答
推荐于2017-09-18 · 知道合伙人教育行家
关注
展开全部
思路:先定义一个函数isp用来判断一个数是否是素数,所谓素数是除了1和自身没有其他的因数,所以从2到该数减一,判断其是否可以整除该数,如果可以该数就不是素数,否则该数就是素数。最后从100到200依次判断并输出素数。
参考代码:
#include <stdio.h>
int fun(int n){
int i;
for(i=2;i<n;i++)
if(n%i==0) return 0;
return 1;
}
int main()
{
int i;
for(i=100;i<=200;i++)
if(fun(i))
printf("%d ",i);
return 0;
}
/*
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
*/
展开全部
原程序:
#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if (i%j==0) break;
printf("%d\n",i); //若没有因数,把从2到i-1的数输出一遍
}
}
}
————————————————————————————————
修改:
#include<stdio.h>
main()
{
int i,j;
for (i=100;i<=200;i++)
{
for (j=2;j<i;)
{
if (i%j==0)
break;
j++;
}
if (j=i)
printf("%d\n",i);
}
}
这样应该可以,但效率算不上很高
#include<stdio.h>
main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if (i%j==0) break;
printf("%d\n",i); //若没有因数,把从2到i-1的数输出一遍
}
}
}
————————————————————————————————
修改:
#include<stdio.h>
main()
{
int i,j;
for (i=100;i<=200;i++)
{
for (j=2;j<i;)
{
if (i%j==0)
break;
j++;
}
if (j=i)
printf("%d\n",i);
}
}
这样应该可以,但效率算不上很高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0) break;
}
if(j>=i)
printf("%d\n",i);
}
return 0;
}
int main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0) break;
}
if(j>=i)
printf("%d\n",i);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if (i%j==0)
break;
}
if(i==j)
printf("%d\n",i);
}
}
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if (i%j==0)
break;
}
if(i==j)
printf("%d\n",i);
}
}
追问
做的对哦~
可是我不理解为什么最后一个if里的是i==j而不是j<i?
麻烦大神再给解释下~
追答
i==j就说明前面的循环到最后都没有找到可被i整除的数,说明i是素数,输出i,如果j<i说明i找到一个可以整除的数,所以执行break语句,提前跳出循环
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言求100至200之间的素数,这个真不太清楚,这个具体的他们之间的素数有哪些数字?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询