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

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

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

活动地址: 牛客春招刷题训练营 - 编程打卡活动

#include <stdio.h>

int main(void)

{

    char flag;

    int i, j, k, num;

    for( ; scanf("%d", &num)!=EOF; ){ // 输入

        i=num>>1;  // 除以二

        flag=1;

        for(j=2; j*j<=i; j++)//判断是否为素数

            if(i%j==0){ flag=0; break; }

        if(flag){

            if(i%2) { printf("%d\n%d\n", i, i); continue; } // 输出

            if(i==2) { printf("2\n2\n"); continue; } // 特殊判断+输出

        }

        for(i--; i>=2; i--){

            flag=1;

            for(j=2; j*j<=i; j++)

                if(i%j==0){ flag=0; break; } // 还是判断

            if(flag){// 是素数

                k=num-i;

                for(j=2; j*j<=k; j++)

                    if(k%j==0){ flag=0; break; }

                if(flag){

                    printf("%d\n%d\n", i, k);

                    break;

                }

            }

        }

    }

    return 0;

}

活动地址: 牛客春招刷题训练营 - 编程打卡活动

全部评论

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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