added sieve_of_eratosthenes

Includes i*i optimization to avoid double counts