1007 素数对猜想 (20分)
让我们定义dn为:d?n?? =p?n+1 ? pn,其中p?i?? 是第 i 个素数。显然有d?1?? = 1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
#include<stdio.h>
#include<math.h>
int main()
{
int d;int a[10000];int q1,q2;int s = 1;int sign = 0;scanf("%d",&d);for(int i = 2;i <= d;i++){
int flag = 0;for(int x = 2;x <= sqrt(i);x++){
if(i%x == 0) //取素数的条件 {
flag = 1;break;}}if(flag == 0 && s == 1)q1 = i;if(flag == 0 && s!= 1){
q2 = i;if(q2-q1 == 2){
sign++;}q1 = q2;} s++;}printf("%d",sign);return 0;}