#include <iostream>
#include <cmath>

using namespace std;

bool check(int x)
{
    for(int i=2;i<=x/i;i++)
    {
        if(x%i==0) return false;
    }
    return true;
}

int main() 
{
    int b;
    cin>>b;
  //jingen
    int x1=0,x2=0,mi=2e9;
    for(int i=b/2;i<=b;i++)
    {
        int k=b-i;
        if(check(k)&&check(i))
        {
            int c=abs(k-i);
            if(c<mi) mi=c,x1=k,x2=i;
        }
    }
    cout<<x1<<endl<<x2;
  return 0;
}

由题找一对素数,将其相加和为b,且差值最小,首先直接从b/2开始找起,用check函数判断是否为素数,mi记录二者差值,x1,

x2不断更新。输出即可参与链接