首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1013 数素数 (20 分)

1013 数素数 (20 分)

作者头像
可爱见见
发布2019-09-09 16:02:29
4990
发布2019-09-09 16:02:29
举报
文章被收录于专栏:卡尼慕卡尼慕

1013 数素数 (20 分)

Pi 表示第 i 个素数。现任给两个正整数 MN≤104,请输出 PMPN 的所有素数。

输入格式:

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

输出格式:

输出从 PMPN 的所有素数,每 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

代码

// 1013 数素数 (20 分).cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include<cmath>
using namespace std;

//判断是否是质数
bool is_prime(int number) {
    if (number == 1) {
        return false;
    }
    if (number == 2) {
        return true;
    }
    for (int i = 2; i <= sqrt(number); i++) {
        if (number % i == 0) {
            return false;
        }
    }
    return true;
}

int main(){
    //输入
    int number_1, number_2;
    cin >> number_1 >> number_2;
    //一共需要输出多少个质数
    int total = number_2 - number_1 + 1;
    //每行输出统计
    int line_number = 0;
    //第n个质数
    int number_sushu = 0;
    int i = 2;
    while (total) {
        bool judge = is_prime(i);//判断是否是质数
        if (judge) 
            //如果是质数就要++
            number_sushu++;
        if (number_sushu >= number_1 && judge) {
            //此时说明要输出,也要确保一行十个
            cout << i;
            line_number++;
            if (line_number == 10) {
                cout << endl;
                line_number = 0;
            }
            else if(line_number < 10 && total != 1)
                cout << " ";
            total--;
        }
        i++;
    }

}

这题太简单了。。竟然20分?我有点怀疑之前15分的题目难度。。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 卡尼慕 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 输入格式:
  • 输出格式:
  • 输入样例:
  • 输出样例:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档