Lzh170106_2 @ 2023-03-27 21:43:06
#include<iostream>
using namespace std;
const int N=2e4+5;
int pri[N];
bool vis[N];
int cnt;
void init(int n){
for(int i=2;i<=n;++i){
if(!vis[i])
pri[cnt++]=i;
for(int j=0;j<cnt;++j){
if(1ll*i*pri[j]>n)break;
vis[i*pri[j]]=1;
if(i%pri[j]==0)
break;
}
}
}
int main(){
int n;
cin>>n;
init(n);
for(int i=1;i<n-1;i++)
for(int j=i;j<n;j++)
for(int k=j;k<=n;k++)
if(pri[i]+pri[j]+pri[k]==n){
cout<<pri[i]<<' '<<pri[j]<<' '<<pri[k];
return 0;
}
return 0;
}
自认为没啥问题,但就是错了,请julao前来帮忙一下