haijun_ @ 2023-03-12 11:30:31
把2单独拿出来就过了?
#include<bits/stdc++.h>
using namespace std;
bool pd(int x){
bool flag=1;
for(int i=2;i*i<=x;i++){
if(x%i==0){
flag=0;break;
}
}
return flag;
}
int main(){
int n;
cin>>n;
if(pd(n-4)){
cout<<"2 2 "<<n-4;
return 0;
}
else{
for(int i=3;i<=n;i++){
if(pd(i)){
for(int j=3;j<=n;j++){
if(pd(j)){
for(int k=n;k>2;k--){
if(pd(k) and i+j+k==n){
cout<<i<<" "<<j<<" "<<k;
return 0;
}
}
}
}
}
}
}
}