1007. 素数对猜想 (20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们定义 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; }
可惜最后一个测试点没过,求大神指点