70求助

P1579 哥德巴赫猜想(升级版)

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前来帮忙一下


|