PAT basic 1013 数素数 (20分) C++

一、题目描述

令 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

二、代码

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<cmath>
#include<stdlib.h>
using namespace std;
//1013

bool check(int x)
{
	for (int i = 2; i <= sqrt(x); i++)
	{
		if (x%i == 0)
			return false;
	}
	return true;
}


int main()
{
	int m, n;
	cin >> m >> n;
	int count = 0, line = 1,flag;
	for (int i = 2; count < n; i++)
	{
		flag = 0;
		if (check(i))
		{
			count++;
			flag = 1;
		}
		if (count >= m&&flag==1)
		{
			if (line % 10 == 0)
			{
				cout << i << endl;
				line = 1;
			}
			else 
				if(count<=n-1)
				{
					cout << i << " ";
					line++;
				}
				else
				{
					cout << i;
				}
		}
	}



	system("pause");
	return 0;
}

三、运行结果

在这里插入图片描述

题目合集

在这里呦~

发布了42 篇原创文章 · 获赞 0 · 访问量 748

猜你喜欢

转载自blog.csdn.net/qq_44352065/article/details/104052676
今日推荐