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


     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 bool check[110000];
     4 int prime[10005];
     5 int tot,ans;
     6 int main()
     7 {
     8     for(int i=2;i<109994;i++)
     9     {
    10         if(!check[i])
    11             prime[tot++]=i;
    12         for(int j=0;j<tot;j++)
    13         {
    14             if(i*prime[j]>109994)
    15                 break;
    16             check[i*prime[j]]=1;
    17             if(i%prime[j]==0)
    18                 break;
    19         }
    20     }
    21     int a,b,flag=1;
    22     cin>>a>>b;
    23     for(int i=a-1;i<b;i++)
    24     {
    25         if(flag)
    26         {cout<<prime[i];
    27          flag=0;
    28         }
    29         else cout<<" "<<prime[i];
    30         ans++;
    31         if(ans%10==0)
    32         {
    33             flag=1;
    34             cout<<endl;
    35         }
    36     }
    37     return 0;
    38 }

    一开始check[]数组开100000的大小,以为很大了,但是还是开小了,第10000个素数的值为104729。

  • 相关阅读:
    return跳转 和 goto跳转
    continue跳转
    break跳转
    循环的嵌套,以for循环为例
    for“列表”型循环
    do while“直到”型循环
    while“当”型循环
    选择结构 switch
    Tomcat和Servlet简析
    并发事务和隔离级别
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/10638588.html
Copyright © 2011-2022 走看看