1007 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
#include <iostream>
#include<stdio.h>
#include<cstdlib>//用来计算证书绝对值20
using namespace std;
int a[10000+10]={0};
int main(int argc, const char * argv[]) {
int n;
int k=1;//用来计数素数组
scanf("%d",&n);
int j=1;//j是用来
a[0]=1;
for(int i=1;i<10000;++i){
for(j=2;j<i;++j){
if((i%j)==0) break;
}
if(j==i){
a[k]=i;
++k;
}
}
int x=0;//用来记录满足条件的个数
for(int i=0;a[i]<n;++i){
if(abs(a[i+1]-a[i])==2) ++x;
}
printf("%d",x);
return 0;
}
不知道哪里不对,不是满分的内容,如果有大神看到了,还望不吝惜赐教。