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

    1181 质数中的质数(质数筛法)(51NOD基础)

    题目来源: Sgu
    基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
     
    如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数。例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数。现在给出一个数N,求>=N的最小的质数中的质数是多少(可以考虑用质数筛法来做)。
    Input
    输入一个数N(N <= 10^6)
    Output
    输出>=N的最小的质数中的质数。
    Input示例
    20
    Output示例
    31
    #include <cstdio>
    
    #define maxn 10000000 
    
    bool prime[maxn] ; 
    int p[maxn] ; 
    int total ; 
    
    void init(){
        total = 0 ; 
        prime[0] = prime[1] = false ; 
        for(int i = 2 ; i<maxn ; i++){
            prime[i] = true ; 
        }
        //线性筛法  复杂度  O(n) 
        for(int i=2 ; i<maxn ; i++){
            if(prime[i]) p[++total] = i ; 
            for(int j=1 ; j<=total&&p[j] * i < maxn ; j++){
                prime[i * p[j] ] = false ; 
                if(i%p[j] == 0 )
                    break ; 
            }
        }
        
    } 
    
    int main(){
        int n ; 
        init() ; 
        while(~scanf("%d" , &n)){
            for(int i=1 ; i<=total ; i++){
                if(prime[i] && p[i] >=n){
                    printf("%d
    " , p[i]) ; 
                    break ; 
                }
            }
        }
        return 0 ; 
    }
  • 相关阅读:
    progresql
    postgresql
    postgresql
    postgresql 索引
    postgresql 视图
    postgresql 触发器
    postgresql异常快速定位
    postgresql数据库备份和恢复
    amgular $q用法
    安装fcitx
  • 原文地址:https://www.cnblogs.com/yi-ye-zhi-qiu/p/7577462.html
Copyright © 2011-2022 走看看