PAT菜鸡进化史_乙级_1007
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数 N。
输出格式:
在一行中输出不超过 N 的满足猜想的素数对的个数。
输入样例:
20
输出样例:
4
思路:
写个判断素数的函数就可以啦,然后疯狂判断就好hhh
Code:
#include <iostream>
#include <cmath>
bool is_prime(int n);
int main(){
using namespace std;
int n;
while (cin >> n){
int num = 0;
int prime = 2;
for (int temp = 3; temp <= n; temp++){
if (is_prime(temp)){
if (temp - prime == 2) num++;
prime = temp;
}
}
cout << num << endl;
}
return 0;
}
bool is_prime(int n){
if (n < 2) return false;
for (int i = 2; i <= sqrt(n); i++){
if (! (n % i))
return false;
}
return true;
}