zoukankan      html  css  js  c++  java
  • PAT1013 数素数

    1013 数素数 (20分)
     

    令 Pi​​ 表示第 i 个素数。现任给两个正整数 MN104​​,请输出 PM​​ 到 PN​​ 的所有素数。

    输入格式:

    输入在一行中给出 M 和 N,其间以空格分隔。

    输出格式:

    输出从 PM​​ 到 PN​​ 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。

    输入样例:

    5 27
    

    输出样例:

    11 13 17 19 23 29 31 37 41 43
    47 53 59 61 67 71 73 79 83 89
    97 101 103


    思路:采用“埃氏”筛法
    记忆:1000000(10^6)之内有78498个素数,10000000(10^7)之内有664579个素数

     1 #include <iostream>
     2 #include <cstring>
     3 #include <algorithm>
     4 
     5 using namespace std ;
     6 
     7 const int N = 10000010 ;
     8 
     9 bool st[N] ;
    10 int primes[N] ;
    11 int n, m ; 
    12  
    13  
    14 int main(){
    15     cin >> n >> m ;
    16     
    17     int idx = 0 ;
    18     
    19     for(int i=2;i<10000010;i++){
    20         if(!st[i]){
    21             primes[idx++] = i ;
    22             if(idx == m){
    23                 break ;
    24             }
    25             for(int j=i;j<=10000010;j += i){
    26                 st[j] = true ;
    27             }
    28         }
    29     }
    30     idx = 0 ;
    31     for(int i=n-1;i<m;i++){
    32         idx ++ ;
    33         if(idx==10 || i==m-1){
    34             printf("%d
    ",primes[i]) ;
    35             idx = 0 ;
    36         }else{
    37             printf("%d ",primes[i]) ;
    38         }
    39     }
    40     
    41     return 0 ;    
    42 } 
  • 相关阅读:
    第四周
    第二次作业
    jsp
    软件测试第一次
    增删改查
    用户添加
    登录
    购物商城
    jsp第七周作业
    jsp第六周作业
  • 原文地址:https://www.cnblogs.com/gulangyuzzz/p/12034001.html
Copyright © 2011-2022 走看看