输入样例:
20
输出样例:
4
思路:判断范围内有多少个素数即可,然后遍历依次相减,差为2则记入答案数组中
#include <iostream>
using namespace std;
bool isPrime(int n){
if(n==2||n==3)
return true;
for(int i=2;i*i<=n;i++){
if(n%i==0){
return false;
}
}
return true;
}
int main()
{
int N;
cin>>N;
int nums[10000];
int cnt=0;
for(int i=2;i<=N;i++){
if(isPrime(i))
nums[cnt++]=i;
}
int answer=0;
for(int i=0;i<cnt-1;i++){
if(nums[i+1]-nums[i]==2)
answer++;
}
cout<<answer;
}