| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import java.util.stream.IntStream;
-
- public final class Prime {
- public static int nth(int nth) {
- if (nth < 1) {
- throw new IllegalArgumentException();
- }
-
- int primesFound = 0;
- int possiblePrime = 1;
-
- while (primesFound < nth) {
- possiblePrime++;
-
- if (isPrime(possiblePrime)) {
- primesFound++;
- }
- }
-
- return possiblePrime;
- }
-
- private static boolean isPrime(int n) {
- if (n == 1) {
- return false;
- }
-
- if (n == 2) {
- return true;
- }
-
- boolean divisible = IntStream
- .rangeClosed(2, (int) Math.ceil(Math.sqrt(n)))
- .anyMatch((int i) -> n % i == 0);
-
- if (divisible) {
- return false;
- }
-
- return true;
- }
- }
|