1013 数素数 (20 分)

1013 数素数 (20 分)

令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。

输入格式:

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

输出格式:

输出从 P​M​​ 到 P​N​​ 的所有素数,每 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
#include <iostream>
#include <math.h>

using namespace std;

int main(){
    int m,n;
    cin>> m>>n;
    int flag,cnt=0;
    int i=2;
    while(cnt!=n){
        flag=1;
        for(int j=2;j<=sqrt(i);j++){
            if(i%j==0){
                flag=0;
                break;
            }
        }
        if(flag){
            cnt++;
            if(cnt>=m&&cnt<n&&(cnt-m+1)%10!=0) cout<<i<<" ";  //不到10个后面加空格
            if(cnt>=m&&cnt<n&&(cnt-m+1)%10==0) cout<<i<<endl; //到第十个后面回车换行
            if(cnt==n) cout<<i;//到第n个
        }
        i++;
    }
    return 0;
}

 

上一篇:信息学奥赛一本通 题号:1013:温度表达转化


下一篇:1013 数素数 (20 分)