PAT B1007题解


1007 素数对猜想 (20 分)
让我们定义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


#include<iostream>
#include<cmath>
using namespace std;
bool panduan(int n){
	if(n<=1)
		return false;
	int t=(int)sqrt(1.0 * n);
	for(int i=2;i<=t;i++){
		if(n%i==0){
			return false;
		}
	}
	return true;
}
int main(){
	int n,count=0;
	cin>>n;
	for(int i=3;i<=n-2;i+=2){
		if(panduan(i)==true && panduan(i+2)==true){
			count++;
		}
	}
	cout<<count;
	return 0;
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章