51nod 1181 质数中的质数(质数筛法)

时间:2023-03-08 23:05:17
51nod 1181 质数中的质数(质数筛法)

题目链接:51nod 1181 质数中的质数(质数筛法)

 #include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N = ;
int prime[N+];
void getPrime(){
memset(prime, , sizeof(prime));
for(int i = ;i <= N; i++){
if(!prime[i])
prime[ ++prime[] ] = i;
for(int j = ; j <= prime[] && prime[j] <= N / i; j++){
prime[ prime[j] * i ] = ;
if(i % prime[j] == ) break;
}
}
}
int main(){
getPrime();
int i, n, f;
scanf("%d", &n);
f = upper_bound(prime+, prime + + prime[], n-) - prime;
f = upper_bound(prime+, prime + + prime[], f-) - prime;
printf("%d\n", prime[prime[f]]);
return ;
}