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