Project Euler/10
From charlesreid1
This is problem 10 on Project Euler: https://projecteuler.net/problem=10
In this problem, we are tasked with finding the sum of the primes below 2 million. This means we have to implement a method for finding prime numbers below a given integer.
The Sieve of Eratosthenes is a basic (read: easy to implement) and fast algorithm for finding prime numbers.
This makes our task boil down to just two steps:
- Step 1: Write a method that will return a list of prime numbers below an integer n
- Step 2: Write a method that will sum up all the numbers in a list
And voila! You're done.
We got burned in a prior problem using 32-bit int instead of 64-bit long, so make sure you use long. 2^32 ~ 2^30 ~ 1000^3 ~ 1 billion, and we're almost surely going to be seeing numbers larger than 1 billion. (If we were summing up all the integers below N, we would expect a result of ~N^2). This is a hyperconservative assumption, as prime numbers occur much less frequently than integers.
This leads to some interesting side questions: what, exactly, is the frequency of occurrence of prime numbers? It turns out that the probability of a number x being prime grows with the value of x as
Project Euler project euler notes
Round 1: Problems 1-20 Problem 1 · Problem 2 · Problem 3 · Problem 4 · Problem 5 · Problem 6 · Problem 7 · Problem 8 · Problem 9 · Problem 10 Problem 11 · Problem 12 · Problem 13 · Problem 14 · Problem 15 · Problem 16 · Problem 17 · Problem 18 · Problem 19 · Problem 20 Round 2: Problems 50-70 Problem 51 · Problem 52 · Problem 53 · Problem 54 · Problem 55 · Problem 56 · Problem 57 · Problem 58 · ... · Problem 61 · Problem 62 · Problem 63 · Problem 64 · Problem 65 · Problem 66 · Problem 67 Round 3: Problems 100-110 Problem 100 · Problem 101 · Problem 102 Round 4: Problems 500-510 Problem 500 · Problem 501 * · Problem 502 * Round 5: Problems 150-160 Round 6: Problems 250-260 Round 7: Problems 170-180
|