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

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

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
确实,从正中间开始遍历最快,我最初还是从2开始遍历的,思维局限了。
点赞 回复 分享
发布于 2022-08-02 14:14
debug:上文第四行会对2进行误判为非prime.应加一个判断:if(a == 2)break; else if( a % i == 0 )......
点赞 回复 分享
发布于 2023-04-10 23:57 山西

相关推荐

昨天 12:43
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
努力学习的小绵羊:我反倒觉得这种挺好的,给不到我想要的就别浪费大家时间了
点赞 评论 收藏
分享
21 5 评论
分享
牛客网
牛客企业服务