题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805317546655744
一边过,就是有一个边界条件没想到,题目说了不超过n,说明包括n,以后审题一定要仔细
代码
#include<algorithm>#include<iostream>#include<vector>using namespace std;const int maxn = 100010;vector<bool> prime(maxn, false);void get_prime(int n){for(int i = 2; i <= n; i++){if(prime[i] == false){for(int j = 2 * i; j <= n; j += i){prime[j] = true;}}}}int main(){int n, count = 0;scanf("%d",&n);get_prime(n);for(int i = 4; i <= n; i++){if(prime[i] == false && prime[i - 2] == false) count++;}printf("%d",count);}
