题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

#include <stdio.h>

int main() {
    int n;
    int a,i,j,flag,min;
    int x[1000]={0};
    int y[1000]={0};
    int top;
    int pos;
    a=2;
    flag=0;
    top=0;
    pos=0;
    min=0;
    while(scanf("%d",&n)==1)
    {
        while(a<n)
        {
            i=2;
            //求素数
            while(i<a)
            {
                if(a%i==0)
                {
                    flag=1;
                    break;
                }
                i++;
            }
            //将素数存入数组
            if(flag==0)
            {
                x[top++]=a;
                
            }
            flag=0;
            a++;
        }
        //将相加等于n的素数组存放
        for(j=0;j<top;j++)
        {
            for(i=j;i<top;i++)
            {
                if(x[j]+x[i]==n)
                {
                    y[pos++]=x[j];
                    y[pos++]=x[i];
                }
            }
        }
        j=0;
        min=1000;
        //输出差值最小的素数对
        while(j<pos-1)
        {
            if(y[j+1]-y[j]<min)
            {
                min=y[j+1]-y[j];
                
            }
            j+=2;
        }
        i=0;
        while(i<pos-1)
        {
            if(y[i+1]-y[i]==min)
            {
                printf("%d\n%d",y[i],y[i+1]);
            }
            i+=2;
        }
        
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 12:10
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务