Uh things seems to work. Slight issues to address though
Uh things seems to work. Slight issues to address though

(1) code should probably be cleaned up / commented more
(2) this is not an efficient way to find primes (the more efficient
concurrent ways to do this, e.g. a sieve, involve extensive shared
memory). Probably doesn't matter.
(3) work is not divided equally among processes, because larger numbers
are usually harder to factor. I don't think there's a trivial way around
this. Probably doesn't matter.
(4) Still need to handle interrupt gracefully, which would be easier if
it were defined in the spec. Is the last line in the example supposed to
be the number of primes ≤ 1020? I don't think there's a good way to do
that.
(5) Still need to make a speedup graph

stensonowen/MPIsre,stensonowen/MPIsre