POJ 2262 Goldbach‘s Conjecture(水题)
程序员文章站
2022-07-14 09:46:00
...
输入一个不小于 6 的合数 n ,把它分解成两个质数的和,如果有多个,输出相差最大的一组
const int N=1e6+5;
int n,m,t;
int i,j,k;
int prime[N],num;
bool vis[N];
void init()
{
for(i=2;i<N;i++){
if(!vis[i]){
prime[++num]=i;
for(j=2;i*j<N;j++){
vis[i*j]=1;
}
}
}
}
int main()
{
//IOS;
init();
while(sd(n)!=EOF){
if(!n) break;
for(i=2;i<=n/2;i++){
if(vis[i]==0 && vis[n-i]==0)
{ printf("%d = %d + %d\n",n,i,n-i); break; }
}
}
// PAUSE;
return 0;
}