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

你可能感兴趣的:(dba)