Skip to content

Commit 1490b03

Browse files
Created Problem07 in Project Euler
1 parent e44390f commit 1490b03

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

ProjectEuler/Problem07.java

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package ProjectEuler;
2+
3+
/**
4+
* By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
5+
* <p>
6+
* What is the 10 001st prime number?
7+
* <p>
8+
* link: https://projecteuler.net/problem=7
9+
*/
10+
public class Problem07 {
11+
public static void main(String[] args) {
12+
int[][] testNumbers = {
13+
{1, 2},
14+
{2, 3},
15+
{3, 5},
16+
{4, 7},
17+
{5, 11},
18+
{6, 13},
19+
{20, 71},
20+
{50, 229},
21+
{100, 541}
22+
};
23+
for (int[] number : testNumbers) {
24+
assert solution1(number[0]) == number[1];
25+
}
26+
}
27+
28+
/***
29+
* Checks if a number is prime or not
30+
* @param number the number
31+
* @return {@code true} if {@code number} is prime
32+
*/
33+
private static boolean isPrime(int number) {
34+
if (number == 2) {
35+
return true;
36+
}
37+
if (number < 2 || number % 2 == 0) {
38+
return false;
39+
}
40+
for (int i = 3, limit = (int) Math.sqrt(number); i <= limit; i += 2) {
41+
if (number % i == 0) {
42+
return false;
43+
}
44+
}
45+
return true;
46+
}
47+
48+
private static int solution1(int n) {
49+
int count = 0;
50+
int number = 1;
51+
52+
while (count != n) {
53+
if (isPrime(++number)) {
54+
count++;
55+
}
56+
}
57+
return number;
58+
}
59+
}

0 commit comments

Comments
 (0)