java - 用java计算第n个素数?

标签 java primes

我正在程序中打印出素数列表并将其存储为数组。然后我想获取特定索引上的素数而不是总列表..

import java.util.*;

public class Gauss {
    static int n;
    static int[] array;

    public static void Input() {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter N: ");
        n = input.nextInt();
    }

    public static boolean isPrime(int num) {
        boolean prime = true;
        int limit = (int) Math.sqrt(num);

        for (int i = 2; i <= limit; i++) {
            if (num % i == 0) {
                prime = false;
                break;
            }
        }

        return prime;
    }

    public static void Calc() {
        Input();
        array = new int[1000];

        for (int i = 2; i < array.length; i++) {
            array[i] = i;
        }

        ArrayList<Integer> list = new ArrayList<Integer>(array.length);

        for (int c : array) {
            list.add(c);
        }

        list.remove(0);
        list.remove(0);

        Collections.sort(list);

        for (int k : list) {
            if (isPrime(k)) {
                System.out.println(k);
            }
        }
    }

    public static void main(String[] args) {
        Calc();
    }
}

最佳答案

要获取第 n 个素数,只需使用 array[n-1]

关于java - 用java计算第n个素数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671644/

相关文章:

java - "instanceof"运算符的这种使用是否被认为是糟糕的设计?

java - 存储访问框架 - 保存 Uri

java - Artifactory:我可以避免 War 和 Zip Artifact 的嵌入冗余吗?

java - jdbc kerberos oracle认证问题

python - 如何优化和寻找大量输入的输出?

primes - 如何在 Sage 中获得给定长度的素数?

java - SQLite 数据库打开时崩溃

C++ Sieve of Eratosthenes算法导致堆栈溢出

c++ - 素数生成器突然停止在 16777213

performance - 整数 n 的除数列表 (Haskell)