一直90分,1个点超时

P1304 哥德巴赫猜想

你说嘞! 输入long long类型的数可以输入至少4亿,运行的时候当然超时啦(我输入100000都得超时)
by LoneWolf @ 2020-12-30 21:11:10


试试筛法求素数……
by 北射天狼 @ 2020-12-30 21:25:45


```c #include<bits/stdc++.h> using namespace std; long long n; int a[10000];//定义变量不解释 int main() { cin>>n;//读入n int pd=0;//判断是否是素数的变量 for(int i=2; i<n; i++){ for(int j=2; j<=sqrt(i); j++){ if(i%j==0){ pd=1;break; } } if(pd==0)a[i]=1; pd=0; } for(int i=4; i<=n; i+=2) { for(int j=2; j<n; j++) { if(a[j]==1&&a[i-j]==1) { cout<<i<<'='<<j<<'+'<<i-j<<endl; break; } } } return 0; } ``` 题解哥收下
by 早上好世界 @ 2021-01-01 14:12:57


@[早上好世界](/user/223030) 火钳刘明
by 风中の菜鸡 @ 2021-01-06 20:03:05


把 long long 去掉
by ♂♂♂ @ 2021-04-22 13:05:35


@[第五氪金好难](/user/372924) 您下次可以把sqrt改成i * i,因为sqrt的返回值是浮点数,会有精度误差。(好像并不能解决问题)
by Super_Supper @ 2021-08-06 18:20:10


|