zoukankan      html  css  js  c++  java
  • 51 nod 1181 质数中的质数(质数筛法)

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

    如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。

     收起

    输入

    输入一个数N(N <= 10^6)

    输出

    输出>=N的最小的质数中的质数。

    输入样例

    20

    输出样例

    31

    题解:
            1.记录质数编号:筛选出质数(未标记的)并编号,后将所有由质数i组成的数标记;
            2.找出大于等于n并且编号也为质数的质数;

    #include<iostream>
    using namespace std;
    int num[1000007];//质数的编号
    bool xprime[1000007];
    int main()
    {
            int i,k=1;
            for(i=2;i<1000007;i++)
                    if(!xprime[i]){
                            num[i]=k++;
                            for(int j=i+i;j<1000007;j+=i)//标记所有非质数
                                    xprime[j]=1;
                    }
            int n;
            scanf("%d",&n);
            i=n;
            while(xprime[num[i]]||xprime[i])
                    i++;
            printf("%d
    ",i);
            return 0;
    }
    
  • 相关阅读:
    Python-内置函数
    Python-匿名函数
    Python-函数递归-二分法
    Python-函数递归
    Day4-函数
    CSS-定位
    CSS-文本属性,文字属性
    CSS-浮动
    CSS-盒模型
    CSS-继承和层叠
  • 原文地址:https://www.cnblogs.com/aeipyuan/p/10182220.html
Copyright © 2011-2022 走看看