素数代码对照,
原来代码百度,可以输出2,书上代码是不能输出2,
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,k,j,flag;
scanf("%d",&j);
for(n=2; n<j; n=n++)
{
flag=1;
for(i=2; i<=sqrt(n); i++)
{
if(n%i==0)
{
flag=0;
break;
}
}
if(flag)
{
printf("%d ",n);
}
}
}
后来修改代码是这个平台的高手们修改写的,对照思考下,因为输出超限这个东西,百度或者这里都没有完整解决办法,也许C语言就是如此神奇任性,,,
#include<stdio.h>
int main()
{
int n,tag,i,j;
scanf("%d",&n);
for(i=2;i<n;i++)
{
tag=0;
for(j=1;j<=i;j++)
if(i%j==0)
tag++;
if(tag==2)
printf("%d ",i);
}
return 0;
}