如下内容,我现在处于初学阶段,麻烦别用一些太高级的方法,我看不懂.....

让我们定义d
n
为:d
n
=p
n+1
−p
n
,其中p
i
是第i个素数。显然有d
1
=1,且对于n>1有d
n
是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<10
5
),请计算不超过N的满足猜想的素数对的个数。
输入格式:

输入在一行给出正整数N。
输出格式:

在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:

20
输出样例:

4

月关宝盒
浏览 86回答 1
1回答

茅侃侃

本题简单的C算法#include<stdio.h>int main (){ int i,m ;int a[27]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103};//105以内的所有素数,下面附的有打印N以内所有素数的m=0;for(i=0;i<26;i++)if(a[i+1]-a[i ]==2)m++;printf("%d",m);return 0;}////这部分是计算素数的算法,本题并不一定需要,给你参考一下附:#include<stdio.h>#include<stdlib.h>int main(){int i,j,n;printf("请输入n:");scanf("%d",&n);for(j=2;j<=n;j++){i=2;while(i<j){if(j%i==0)break;i++;}if(i==j)printf("%d is prime\n",j);elseprintf("%d is no prime\n",j);}system("pause");return 0;}
打开App,查看更多内容
随时随地看视频慕课网APP