1007 素数对猜想
/*
*1.声明:目前正在学习C++刷算法题,所以之前的C语言代码就不再列出来了
* 目前找到的参考博客中,柳婼的解题思路是比较简洁的,所以我的
* 博客中的代码大部分参考柳婼同学。在解题思路,考察内容方面,我
* 写明自己的想法,我的思路是先快速模仿学习,再有所创新独立。
*2.本题解题步骤:
* 1.明确素数概念:质数(prime number)又称素数,有无限个。
* 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
* 2.首先根据素数定义,抽象出一个判断素数的函数 bool isprime(int a);
* 然后,观察素数序列,找到其中的规律: for (int i = 5; i <= N; i++)
* if (isprime(i-2) && isprime(i)) cnt++;
*3.参考博客:https://www.liuchuo.net/archives/520
*/
#include <iostream>
using namespace std;
bool isprime(int a) {
for (int i = 2; i * i <= 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;
return 0;
}