Project-Euler / 7
Problem 7 asks:
What is the 10 001st prime number?
Here’s my solution in Java:
import static java.lang.Math.sqrt;
public class Problem7 {
public static void main(String[] args) {
int count = 0;
int div = 1;
int result = 1;
while (count < 10_001) {
result++;
for (div=(int)sqrt(result); div>0; div--)
if (result % div == 0) break;
if (div == 1) count++;
}
System.out.println(result);
}
}
The only thing to note is I’m dividing from \(\lfloor\sqrt n\rfloor\) (and down to 1) to check if \(n\) is prime. The reason I don’t need to check more than that is if \(d\) is a divisor of \(n\) then \(\tfrac{n}{d}\) is also a divisor of \(n\). This substantially speeds up the program.