Skip to content

Commit 3c07927

Browse files
Merge pull request #1469 from shellhub/dev
Created Problem07 in Project Euler
2 parents 88ac7cf + 6e6c451 commit 3c07927

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

DIRECTORY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@
206206
* [Problem02](https://github.com/TheAlgorithms/Java/blob/master/ProjectEuler/Problem02.java)
207207
* [Problem04](https://github.com/TheAlgorithms/Java/blob/master/ProjectEuler/Problem04.java)
208208
* [Problem06](https://github.com/TheAlgorithms/Java/blob/master/ProjectEuler/Problem06.java)
209+
* [Problem07](https://github.com/TheAlgorithms/Java/blob/master/ProjectEuler/Problem07.java)
209210

210211
## Searches
211212
* [BinarySearch](https://github.com/TheAlgorithms/Java/blob/master/Searches/BinarySearch.java)

ProjectEuler/Problem07.java

Lines changed: 59 additions & 0 deletions
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)