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

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

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

#include<stdio.h>

#include<math.h>

int is_prim(int a){

int prim = 1;
int x = sqrt(a)+1;
for(int i=2; i<x; i++){
    if(a%i==0){
        prim =0;
        break;
    }
}
return prim;

}

int main(){

int number;
while(scanf("%d", &number) != EOF){
    int start = number/2;
    for(int i=start; i>=2; i--){
        if(is_prim(i) && is_prim(number-i)){
            printf("%d\n%d\n", i, number-i);
            break;
        }
    }
}
return 0;

}

全部评论
想法也太好了吧
1 回复 分享
发布于 2022-03-16 15:53
感觉题目说得不清楚,什么叫组成偶数的两个数?应该就是这两个数的和是了个偶数。 楼主思路很巧妙,从中间往左找,必定差最小
2 回复 分享
发布于 2022-06-05 22:20
思路很棒,赞
1 回复 分享
发布于 2022-03-25 16:23
debug:上文第四行会对2进行误判为非prime.应加一个判断:if(a == 2)break; else if( a % i == 0 )......
点赞 回复 分享
发布于 2023-04-10 23:57 山西
确实,从正中间开始遍历最快,我最初还是从2开始遍历的,思维局限了。
点赞 回复 分享
发布于 2022-08-02 14:14

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
白火同学:先说结论,对于一份实习简历来说,整体还是挺不错的,技术深度和广度都到位,找到一份中小厂的实习没啥问题。 再说说能优化的点吧。 1、量化结果,项目中很多工作量化一下结果给面试官的感受会更直观一些,也能体现你对应用该项技术的理解(在众多技术为什么要用它,运行性能或者说开发效率往往是一大考虑指标;而不是说大家做这种功能都用它,所以我用它)。 2、突出亮点,项目中可以从“工作职责”择一些“个人亮点”另写一块,优先去写开发过程中遇到的xx问题,使用xx技术达到xx效果,针对性去写一些疑杂难的功能,能带出你个人思考和解决的过程。
点赞 评论 收藏
分享
评论
23
5
分享

创作者周榜

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