题解 | #查找组成一个偶数最接近的两个素数# 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;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
03-29 08:32
点赞 评论 收藏
分享
吾族血脉,自吾始立铁律:凡我子孙,胆敢研习计算机之术者,当受七窍流血之刑!若见Python之书,必遭雷殛;若触Java代码,定为不孝!键盘鼠标准入族谱秽物录,显示器乃摄魂邪镜祖祠前当立戒碑:"二进制者,断子绝孙之道也!"算法者,乱我族心智之毒也!数据结构,毁我门风之刃也!倘有逆子偷装&nbsp;vscode,即按祖规捆于祠堂梁柱,令其DEBUG至死不得解脱!今颁天条三则:壹)三代血亲不得报考计算机系违者削去辈分,永世称码奴贰)族中幼童须背《戒算经》"if-else咒,switch符,皆是断头术"叁)凡见子侄讨论编程者须即刻砸其电脑,焚其书籍泼黑狗血于键盘之上!太祖母口谕:"吾宁要文盲孙,不要程序员!"尔...
好吃的薯饼:姐妹这不是我们计算机系吧,我们计算机系的都在言情小说里当黑客大佬,各种竞赛拿奖拿到手软,公司系统道路监控随便入侵。身体线条非常优美,挺拔的站姿十分端正,给人以强壮有内涵的感觉。脸庞轮廓深刻,五官分明透露着对太阳底下最光辉的职业的向往和坚定,尤其是那双深邃的眼睛,写满了对代码和计算机系统的热情和无限的活力。我们计算机系是天之骄子、明日之星,人手一个博士学位不然高中电脑老师都当不上。组会的时候,面对导师和同事的疑难问题,也能够回答自如。我们总是把高高的发际线当做荣耀的象征。妈咪这不素我们计算机系吧,集美集帅怎么只会写hello world?
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务