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

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

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

简单题提交几次才过,第一次通过率42%,第二次81%,第三次100%。总结就是情况没有考虑全面,提交看到没通过的测试用例才恍然大悟,做题还是得想多一点才行。

#include<stdio.h>

int isPnumber(int n){
    for(int i=2;i<n;i++){
        if(n%i==0) return 0;
        else if(i==n-1) return n;
    }return 0;  //for循环内是条件分支时需要在循环外加上return出口,返回值可以是任意值代表异常,否则编译器会警告,因为循环不可预测,需要正常出口和异常出口。
}

int main(){
    int n;
    while(~scanf("%d",&n)){
        if(n==4) { printf("2\n2\n"); break; }  //特殊情况直接输出结果
        int mid=n/2;
        int low=0,high=0;
        for(int j=1;(low==0)||(high==0)||(low+high!=n);j++){
             if(isPnumber(mid-j)) low=mid-j;
             if(isPnumber(mid+j)) high=mid+j;
        }
        if(isPnumber(mid))
            printf("%d\n%d\n",mid,mid);   //偶数的中间数为刚好素数的情况

        else printf("%d\n%d\n",low,high);
    }
}
全部评论

相关推荐

小浪_Coding:个人技能一条测试没有
点赞 评论 收藏
分享
05-28 23:26
河南大学 Java
双非本,刚学完Redis,项目只有外卖和点评,八股没准备,算法只有lqb省一,感觉敲的项目也是一言难尽没怎么吸收。怎么你们都有实习了
大牛之途:27急个锤子,你投日常实习最好的时间就是9,10月份,那时候暑期实习都结束了,正是缺人的时候。这份日常又能给你的暑期实习增加竞争力,暑期找的好了秋招也不怕了,都是环环相扣的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务