...求助

P1304 哥德巴赫猜想

for和if没加大括号..了解了
by Xiang @ 2019-02-11 19:24:22


这个方法会爆掉吧……有5000个呢
by 赤霞QvQ @ 2019-02-11 19:24:37


@[Xiang](/space/show?uid=54763) 循环一次就return 0???
by t162 @ 2019-02-11 19:27:44


错了好多..谢谢谢谢... #include<bits/stdc++.h> #define FOR(i,l,r) for(int i=1;i<=r;i++) using namespace std; int main(){ int n,k,t,p,q; cin>>n; int cnt=1; bool vis[n+10]; memset(vis,1,sizeof(vis)); int prime[n+10];memset(prime,0,sizeof(prime)); for(int i=2;i<=n;i++) { if(vis[i]) {prime[cnt]=i;cnt++;} for(int j=1;j<cnt&&i*prime[j]<=n;j++) { if(i*prime[j]>n) break; vis[i*prime[j]]=0; if(i%prime[j]==0) break; } } vis[0]=0;vis[1]=0; cnt--; for(int i=2;i<=n;i+=2) { for(p=1;p<=cnt;p++) {if(vis[i-prime[p]]==true) {cout<<i<<"="<<prime[p]<<"+"<<i-prime[p]<<endl;break; }} } return 0; }
by Xiang @ 2019-02-11 19:50:41


|