让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
#include<stdio.h>#include<math.h>const int maxn=111;bool is_PRime(int n){ if(n<=1) return false; int sqr=(int)sqrt(1.0*n); for(int i=2;i<=sqr;i++){ if(n%i==0) return false; } return true; }int main(){ int n; scanf("%d",&n); int p[maxn]; p[0]=2;p[1]=3; int count=1,num=0; for(int i=4;i<=n;i++){ if(is_prime(i)==true){ p[++count]=i; } } if(count==1) printf("0/n"); else{ for(int i=1;i<=count;i++){ if(p[i]-p[i-1]==2) num++; } printf("%d/n",num); } return 0;}可惜最后一个测试点没过,求大神指点
新闻热点
疑难解答