求助 7,10点wa,下载数据后本机输出和答案一样

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

Persona @ 2018-01-12 13:39:12

#include<cstdio>
int b[30000],n;
void read(int &x)
{
    int i=1; x=0; char zx=getchar();
    while(zx<'0'||zx>'9') 
    {
        if(zx=='-') i=-1;
        zx=getchar();
    }
    while(zx>='0'&&zx<='9')
    {
        x=x*10+zx-48;
        zx=getchar();
    }
    x*=i;
}
inline void write(int x)
{
    if(x<0)
    {
        putchar('-');
        x=-x;
    }
    if(x>9) write(x/10);
    putchar(x%10+48);
}
int main()
{
    read(n);
    b[1]=1;
    b[0]=1;
    for(int i=2;i*i<=n;i++)
    {
        if(b[i]==0)
        {
            for(int j=i<<1;j<=n;j+=i)
            b[j]=1;
        }
    }
    for(int i=2;i<=n;i++)
    {
        if(b[i]==0)
        {
            for(int j=2;j<=n;j++)
            {
                if(b[j]==0&&b[n-i-j]==0)
                {
                    write(i);
                    putchar(' ');
                    write(j);
                    putchar(' ');
                    write(n-i-j);
                    return 0;
                }
            }
        }
    }
    return 0;
}

|