输出第几个质数(Java描述)

61 阅读1分钟

输出第几个质数(Java描述)

1. 问题描述

给出质数n,请输出它在数组中第几个质数。

2. 问题示例

输入:n=3

输出:2

注意:对于[3,5,7],3是其中第1个质数。

3. 代码实现

import java.util.Scanner;

public class Play002 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("输入:");
        int n = sc.nextInt();
        System.out.println("输出:"+kthPrime(n));
    }

    public static int kthPrime(int n) {
        boolean primes[] = new boolean[100009];
        for (int i = 2; i < n; i++) {
            primes[i] = false;
        }
        for (int i = 2; i < n; i++) {
            if (primes[i] == false) {
                for (int j = 2* i; j < n; j += i) {
                    primes[j] = true;
                }
            }
        }
        int ans = 1;
        for (int i = 2; i < n; i++) {
            if (primes[i] == false) {
                ans++;
            }
        }
        return ans;
    }
}

4. 运行结果

输入:3
输出:2

本文章参考或引用如下:

玩转Java--手把手教你编写300个精彩案例,作者:李永华、陈宏铭