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

#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;

}

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