嵌入式云里雾里 2022-01-06 19:25 采纳率: 0%
浏览 21

素数对的程序,下面这个程序哪里错了

#include<stdio.h>
#include<math.h>
int a(int x){
int i;
if(x==1||x==0)
{return 0;}
else if(x==2){
return 1;}
else if(x>2){
for(i=0;i<=sqrt(x)+1;i++)
if(x%i==0)
return 0;
}
else {return 1;}
}
int main()
{ int j,n;
scanf("%d",&n);
for(j=0;j<=n;j++)
{if(a(j)==1&&a(j+2)==1)
{printf("%d %d",j,j+2);
}
}
return 0; }

  • 写回答

3条回答 默认 最新

  • 南七灵 2022-01-06 19:45
    关注
    
    #include <stdio.h>
    #include <math.h>
    int a(int x)
    {
        int i;
        if (x == 1 || x == 0)
        {
            return 0;
        }
        else if (x == 2)
        {
            return 1;
        }
        else if (x > 2)
        {
            for (i = 2; i <= sqrt(x) + 1; i++)
                if (x % i == 0)
                    return 0;
        }
        return 1;
    }
    int main()
    {
        int j, n;
        scanf("%d", &n);
        for (j = 0; j <= n; j++)
        {
            if (a(j) == 1 && a(j + 2) == 1)
            {
                printf("%d %d  ", j, j + 2);
            }
        }
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月6日