HDU 1397 Goldbach's Conjecture【素数打表】

题意:给出n,问满足a+b=n且a,b都为素数的有多少对

将素数打表,再枚举

 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring> 
 4 #include <cmath> 
 5 #include<stack>
 6 #include<vector>
 7 #include<map>  
 8 #include<algorithm>  
 9 #define mod=1e9+7;
10 using namespace std;
11 
12 typedef long long LL;
13 int isp[100010];
14 
15 void isprime(){
16     isp[1]=isp[0]=1;
17     for(int i=2;i<100010;i++){
18         if(isp[i]==0)
19         for(int j=i*2;j<100010;j+=i)
20         isp[j]=1;
21     }
22 }
23 
24 int main()
25 {
26     isprime();
27     int n,i,j,ans;
28     while(scanf("%d",&n)!=EOF&&n){
29         ans=0;
30         for(i=2;i<=n/2;i++){
31             if((!isp[i])&&(!isp[n-i])) ans++;
32         }
33         printf("%d\n",ans);
34     }
35     return 0;
36 }
View Code

 

 

 

 

 

因为前两天做的一个cf的A就要用到判断素数= =完全忘记该怎么写---555555

posted @ 2015-03-14 17:54  sequenceaa  阅读(164)  评论(0编辑  收藏  举报