1. 看注释即可
#include<bits/stdc++.h>

using namespace std;

//isPrime:判断一个数后是否是素数的标准是看除了1和它本身是否有其它数可以作为它的因数,有的话就不是返回false
    bool isPrime(int n){

        for(int i = 2; i<=n-1;i++){
            if(n%i==0){
                return false;
            }
        }

        return true;
    }


int main(){

    int a;
    while(cin>>a){
        //从中间n/2向两侧遍历,找到第一组和为n的素数组合就打印即可,一定注意要加break,不然会继续遍历打印其它素数组合
        for(int i = a/2; i>=2; i--){//素数范围内进行遍历
            if(isPrime(i)&&isPrime(a-i)){//确保加起来依然是a
                cout<<i<<endl;
                cout<<a-i<<endl;
                break;//打出第一个一定是差最小的,注意break;
            }
        }

    }

}