输出第几个质数(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个精彩案例,作者:李永华、陈宏铭