hdu 1397 Goldbach's Conjecture

来源:互联网 发布:淘宝网上禁止出售保护 编辑:程序博客网 时间:2024/05/19 04:25
题意:对于任何一个大于等于4的偶数n,至少存在一对素数p1,p2。使得n=p1+p2,给定一个偶数n,问可以分解几对素数之和。

筛选素数,然后枚举不要重复,就没问题了。

#include<iostream>#include<cstring>using namespace std;#define pr 100000int n[pr]={0};void prime(){int i,j;n[0]=1,n[1]=1;for(i=2;i<pr;i++){if(!n[i]){for(j=2;i*j<pr;j++){n[i*j]=1;}}}} int main(){prime();int x;while(cin>>x&&x){int i,j,sum=0;    for(i=2;i<=x/2;i++)    {    if(!n[i]&&!n[x-i])    {    sum++;    }}cout<<sum<<endl;}return 0;}


 

0 0
原创粉丝点击