1181 质数中的质数

    xiaoxiao2025-08-27  17

    1181 质数中的质数(质数筛法) 题目来源:  Sgu 基准时间限制:1 秒 空间限制:131072 KB 分值: 0  难度:基础题 如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。 Input 输入一个数N(N <= 10^6) Output 输出>=N的最小的质数中的质数。 Input示例 20 Output示例 31 #include<stdio.h> #include<stdio.h> #include<algorithm> #include<iostream> using namespace std; int a[1001000],b[1001000]; void init() {int k=1; a[0]=1; a[1]=1; b[0]=1; b[1]=1; for(int i=2;i<=1000100;i++) {if(a[i]==0) for(int j=i+i;j<=1000100;j=j+i) a[j]=1; } for(int i=2;i<=1000100;i++) if(a[i]==0) b[i]=k++; } int main() {init(); int n,m; scanf("%d",&n); for(int i=n;i<1000100;i++) {m=b[i]; if(a[m]==0&&a[i]==0) { printf("%d\n",i); break;} } }
    转载请注明原文地址: https://ju.6miu.com/read-1302040.html
    最新回复(0)