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

https://www.luogu.org/problemnew/show/P1579

注意 数组的大小为

[0,n)不包括n

一下为错误的代码

#include<iostream>
using namespace std;
int is[20005];int n;
void init()
{
    
    is[1]=1;
    for(int i=1;i<=n;i++)
    {
        if(is[i]==0) 
        {
            
            for(int j=2;j<=n;j++)
            {
                if((j*i)<=20005)      //////////////////////////////////////////////////////
                {
                    is[i*j]=1;
                }
                else break;
            }
        }
    }
}
int main()
{
    cin>>n;
    init();
    
    for(int i=1;i<=n;i++)
    {
    if(is[i]==0)	
    for(int j=1;j<=n;j++)
    {
        if(is[j]==0)
        for(int k=1;k<=n;k++)
        {
            if(is[k]==0)
            {
                if((i+j+k)==n)
                {
                    cout<<i<<" "<<j<<" "<<k;
                    return 0; 
                }	
            }
        }
    }
    }
} 

posted @ 2018-09-30 21:12  Hugh996  阅读(161)  评论(0编辑  收藏  举报