Problem 7(10001st prime)
Problem 7(10001st prime)
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10 001st prime number?
In Python:
# PE7 10001st prime
import time
import math
startTime = time.time()
order = 1
num = 1
def is_prime(n):
if n == 1:
return False
elif n == 2:
return True
else:
i = 2
while i < math.ceil(math.sqrt(n)) + 1:
if n % i == 0:
return False
else:
i += 1
return True
while order < 10001:
num += 2
if is_prime(num):
order += 1
else:
continue
print(num)
print(time.time() - startTime, "seconds")
Run time: 1.2066988945007324 seconds
In Java:
//Euler7 10001st prime
package project_euler;
public class Euler7 {
public static boolean isPrime(int n) {
if (n == 1) {
return false;
}
else if (n == 2) {
return true;
}
else {
int i = 2;
while (i < Math.ceil(Math.sqrt(n))+1) {
if (n % i == 0) {
return false;
}
else {
i += 1;
}
}
return true;
}
}
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
int num = 1;
int order = 1;
while (order < 10001) {
num += 2;
if (isPrime(num)) {
order += 1;
}
else {
continue;
}
}
System.out.println(num);
long endTime = System.currentTimeMillis();
System.out.println((double)(endTime - startTime) / (double)1000 + "seconds");
}
}
Run time: 0.048seconds
solution: 104743
[from Project Euler: https://projecteuler.net/problem=7]