题目要求
输入格式:
输入在一行给出正整数N。
输出格式:
在一行中输出不超过N的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
代码实现
#include<iostream>
#include<cmath>
using namespace std;
bool pan(int n) //判断是否是素数的函数
{
for (int i = 2; i < sqrt(n) + 1; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main() {
int count = 0;
int n; cin >> n;
for (int i = 2; i+2 <= n; i++) {
if (pan(i)&&pan(i+2)) {
count++; i ++;
}
}
cout << count;
return 0;
}
一些感想
对于这道题和许多算法题来说,读懂题干的意思很重要。这道题说了很多,我们简化一下其实就是,判断一个数是否是素数,在判断这个数加2是否是素数。在一个范围内一共有多少个满足上述条件的数。