• PAT乙级题库“傻瓜”题解之数素数


    Pi​​ 表示第 i 个素数。现任给两个正整数 MN10的四次方,请输出 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<iostream>
     2 using namespace std;
     3 int main()
     4 {
     5     int min,max;
     6     cin>>min>>max;
     7     long sushu[105000];//用来存素数的数组
     8     int n=max-min;//要输出素数的个数
     9     int k=0;//素数数组的下角标
    10     int m=0;//用来判断输出的格式
    11     for(int i=2;i<=105000;i++)
    12     {
    13         int flag=-1;
    14         for(int j=2;j*j<=i;j++) 
    15         {
    16             if(i%j==0)
    17             {
    18                 flag=1;
    19                 break;
    20             }
    21         }
    22         if(flag==-1)//到这里是对素数的判断
    23         {
    24             sushu[k]=i;
    25             if(k>=min&&k<=max)//这里是对要输出的素数的判断
    26             {
    27                 m++;
    28                 cout<<sushu[k-1];
    29                 if(m%10==0) cout<<endl;
    30                 else if(m-1!=n) cout<<" ";
    31             }
    32             k++;     
    33         }
    34         if(k-1==max) break;//退出外层遍历范围内的数的循环
    35     }
    36     return 0;
    37 }

    个人认为这道题的考点主要是在第四个测试点:

    1、当N等于10的4次方时,你的用来存素数的数组应该给多少个内存;

    2、你用什么方法来判断一个数是素数,如果用的方法不对,会使运行超时,这就涉及到素数的定义和性质了:https://blog.csdn.net/zlambert/article/details/65684470

  • 相关阅读:
    Hystrix框架4--circuit
    Hystrix框架3--线程池
    undo tablespace RETENTION GUARANTEE
    Xshell访问虚拟机
    SQL Server nvarchar(max)
    win10 D盘空间占用太大(内容和标题可能不符,慎入)
    Grid Control安装和Deployment agent
    /etc/oratab
    Environment variable ORACLE_UNQNAME not defined.Please set ORACLE_UNQNAME to database unique name.
    Oracle的listener.ora、tnsnames.ora的配置
  • 原文地址:https://www.cnblogs.com/solititude/p/11845470.html
Copyright © 2020-2023  润新知