2019年第十届蓝桥杯大赛软件类省赛 C/C++和Java 大学 C 组第4题“质数”题目:
试题 D: 质数
本题总分: 10 分
【问题描述】
我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算第 2019 个质数是多少?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
【题目分析】
这是一道结果填空的题,草稿纸验算或Excel表格,空难胜任,还得代码实现。这个题目也是水题,送分题,就是一个基本的素数判断,单独写一个函数isprime()即可。
【C++代码】
#include <iostream>
using namespace std;
bool isprime(int n) {
for(int i=2; i*i<=n; i++) {
if(n % i == 0) return false;
}
return true;
}
int main() {
int cnt = 0, n = 1;
while(true) {
n++;
if(isprime(n)) cnt++;
if(cnt==2019) break;
}
cout << n << endl; //17569 测试:cnt==5,n=11; cnt==10,n=29
//模拟检查,先列举质数:2 3 5 7 11 13 17 19 23 29
return 0;
}
也是简单的小题一个,没有多少难度,欢迎留言讨论交流学习。