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 }
因为前两天做的一个cf的A就要用到判断素数= =完全忘记该怎么写---555555
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。