PAT乙级——1003 数素数 (C/C++)

来源:互联网 发布:老梁故事汇 知乎 编辑:程序博客网 时间:2024/05/07 08:12

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB

题目描述

令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。

输入描述:

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


输出描述:

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

输入例子:

5 27

输出例子:

11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103

            这种题目采用打表的方式即可。

   

             贴代码:

#include <iostream>#include <vector>#include <math.h>#define MAXPRIME 105000using namespace std;vector<int> primes;bool isPrime(int n){if(n <= 1){return false;}for(__int64 i = 2; i <= sqrt(1.0 * n); ++i){if(n % i == 0){return false;}}return true;}void getAllPrime(){for(int i = 1; i < MAXPRIME; ++i){if(isPrime(i)){primes.push_back(i);}}}int main(void){int m, n;cin>>m>>n;getAllPrime();for(int i = 1; i <= n - m; ++i){if (i % 10 == 0){cout<<primes[i + m - 2]<<endl;}else{cout<<primes[i + m - 2]<<" ";}}cout<<primes[n - 1];return 0;}


0 0
原创粉丝点击