首页 > 其他 > 详细

1007 素数对猜想

时间:2020-05-09 16:49:52      阅读:45      评论:0      收藏:0      [点我收藏+]

让我们定义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

题目分析: 这道题关键在于查找素数,当找到一个素数后,再判断该素数-2是否还是素数,再利用一个全局的计数器,即可求出结果。
#include<iostream>
#include<vector>
#include<math.h>
using namespace std;

bool isprime(int a) {
	for (int i = 2; i <= sqrt(a); i++) 
		if (a%i == 0) return false;
		return true;
}

int main() {
	int N, cnt = 0;
	cin >> N;
	for (int i = 5; i <= N; i++) {
		if (isprime(i - 2) && isprime(i))
			cnt++;
	}
	cout << cnt << endl;
	system("pause");
	return 0;
}

1007 素数对猜想

原文:https://www.cnblogs.com/Frances-CY-FKYM/p/12858579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!