让我们定义dnd_ndn为:dn=pn+1−pnd_n = p_{n+1}-p_ndn=pn+1−pn,其中pip_ipi是第iii个素数。显然有d1=1d_1 = 1d1=1,且对于n>1n>1n>1有dnd_ndn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N
(<105<10^5<105),请计算不超过N
的满足猜想的素数对的个数。
输入在一行给出正整数N
。
在一行中输出不超过N
的满足猜想的素数对的个数。
#include <iostream>#include <cmath>//请计算不超过N的满足猜想的素数对的个数using namespace std;bool sushu(int a);void sushu();bool sushu(int a){ for (int i=2;i*i<=a;i++) { if (a%i==0) return false; } return true;}void sushudui(){ int n,p=0; cin>>n; for (int i=3;i<=n-2;i+=2) { if (sushu(i)&&sushu(i+2)) p++; } cout<<p;}int main(){ sushudui(); return 0;}
新闻热点
疑难解答