RE,但我在本地没RE...

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

Niko @ 2017-07-10 15:44:48

#include<cstdio>
#include<cmath>
using namespace std;
int n;
bool a[40006];
int num_prime=0, prime[40006];
void init()
{
    scanf("%d",&n);
    a[0]=a[1]=1;  
    for(int i=2;i<=n;i++)  
    {  
        if(!a[i])  
            prime[num_prime++]=i;  
        for(int j=0;j<num_prime&&i*prime[j]<=n;j++)  
        {  
            a[i*prime[j]]=1; 
            if(!(i%prime[j]))
                break;  
        }  
    }
}
void solve(int x)
{
    int i=0,j=0;
    while(prime[i]<x)
    {
        int tmp=x-prime[i];
        j=0;
        while(prime[j]<tmp)
        {
            int ttmp=tmp-prime[j];
            if(!a[ttmp])
            {
                printf("%d %d %d\n",prime[i],prime[j],ttmp);
                return;
            }
            j++;
        }
        i++;
    }
}
int main()
{
    init();
    solve(n);
    return 0;
}

by Niko @ 2017-07-10 19:24:36

sos


by geek痕 @ 2017-07-20 00:29:26

我刚才就遇到了,不过是因为freopen没有注释掉


by 皮某 @ 2017-08-01 17:56:29

可能情况

1 数组越界

2 炸空间

3 程序中存在“\n”(评测机的换行有时候不是“\n”)

4 指针的空间可能是8

......


|