当前位置:   article > 正文

第十届蓝桥杯省赛——4质数(质数判断,数学函数:开方函数)_蓝桥杯题库质数游戏4

蓝桥杯题库质数游戏4

题目:

试题 D: 质数

本题总分:10 分

【问题描述】

我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算

第 2019 个质数是多少?

【答案提交】

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一

个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

分析:

从2开始遍历所有,每遇到一个质数count++,直到count==2019时结束,判断是不是质数我们需要把这个数除以小于自身的所有数,如果这个过程中有一个能除尽,则证明不是素数,返回false。

2,3是特殊的,他们两个的开方是1点几所以不参与循环直接返回true

x值太大,所以用到了math.sqrt开方

步骤:

  1. package 第十届省赛;
  2. public class 质数 {
  3. // 我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……请你计算
  4. // 第 2019 个质数是多少?
  5. public static void main(String[] args) {
  6. int count = 0;
  7. for (int i = 2;; i++) {
  8. if (f(i)) {
  9. count++;
  10. }
  11. if (count == 2019) {
  12. System.out.println(i);
  13. break;
  14. }
  15. }
  16. }
  17. private static boolean f(int x) {
  18. //2和3的开方是1点几所以就直接略过循环直接返回true
  19. for (int j = 2; j <=Math.sqrt(x); j++) {//素数判断公式,因为x太大所以需要开方
  20. if (x%j==0) {
  21. return false;
  22. }
  23. }
  24. return true;
  25. }
  26. }
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号