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

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

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

       给定的数为n,从中间的数n/2开始,依次减1,判断该数i是否为素数。同时判断n-i是否是素数。当第一次遇到两个数都为素数的情况时,这两个数即为所求数。

#include<stdio.h>
#include<math.h>
int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        int k=n/2;
        int flag1,flag2;   //flag=1表示i或n-i为素数
        for(int i=k;i>0;i--){
            flag1=flag2=0;
            int j;
            for(j=2;j<=(int)sqrt(i);j++){  //判断i是否为素数
                if(i%j==0)
                    break;
                }
            if(j>(int)sqrt(i))     //此句不能写在for循环内
                   flag1=1;
             for(j=2;j<=(int)sqrt(n-i);j++){  //判断n-i是否为素数
                 if((n-i)%j==0)
                      break;
             }
            if(j>(int)sqrt(n-i))
                     flag2=1;
            if(flag1*flag2){
                 printf("%d\n%d\n",i,n-i);
             break;
             }
        }
    }
    return 0;
}
全部评论

相关推荐

09-14 20:51
四川大学 Java
慢热的鲸鱼在学习:985加粗就行了,第二个项目来不及准备也没事,省的写了问你你还不会。你只需准备面试八股和项目场景,剩下的交给985。即使面不过也没事,面试经验是最重要的,你现在不缺时间
简历中的项目经历要怎么写
点赞 评论 收藏
分享
牛油果甜奶昔:别的先不说,牛客还能内推护士?
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

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