素数C语言代码。ACM平台上总有些题目不是提交输出超限就是答案错误,,,,,,,,不懂,

时间:2021-11-08 14:39:27

素数代码对照,

原来代码百度,可以输出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;
}