标签:
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N (< 105),请计算不超过N的满足猜想的素数对的个数。
输入格式:每个测试输入包含1个测试用例,给出正整数N。
输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
思路:素数的判断 sqrt减小时间
1 #include<stdio.h> 2 #include<math.h> 3 4 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 5 6 int main(int argc, char** argv) { 7 int n; 8 scanf("%d",&n); 9 int count=0; 10 int i=3; 11 int temp1=2; 12 while(i<=n) 13 { 14 15 //判断i是不是素数 16 int j=2; 17 bool Is=true; 18 while(j<=sqrt(i)) 19 { 20 if(i%j==0) 21 { 22 Is=false; 23 break; 24 } 25 j++; 26 } 27 if(Is) 28 { 29 if(i-temp1==2) 30 { 31 count++; 32 } 33 temp1=i; 34 } 35 i++; 36 } 37 printf("%d\n",count); 38 return 0; 39 }
标签:
原文地址:http://www.cnblogs.com/GoFly/p/4235627.html