1013 数素数
题目
令 Pi表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 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
解析
先打素数表,到 M 个就停止,然后输出即可,这里建议记住打素数表的写法答案
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int s[10001];
bool isPrime(int a){
for(int i = 2 ; i <= sqrt(a) ; i++){
if(a % i == 0){
return false;
}
}
return true;
}
int main(){
int m,n;
cin >> m >> n;
int i = 0,j = 2;
while(i <= n){
if(isPrime(j)){
s[i ++] = j;
}
j ++;
}
for(i = m - 1; i < n ;i++){
if((i - m + 2) % 10 == 0 || i == n - 1){
cout << s[i] << endl;
}else{
cout<< s[i] << " ";
}
}
}

浙公网安备 33010602011771号