diff options
Diffstat (limited to '07-10001st-Prime/10001prime.py')
-rw-r--r-- | 07-10001st-Prime/10001prime.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/07-10001st-Prime/10001prime.py b/07-10001st-Prime/10001prime.py new file mode 100644 index 0000000..bc51d49 --- /dev/null +++ b/07-10001st-Prime/10001prime.py @@ -0,0 +1,34 @@ +import PIL +import math + +# Problem 7 - 10,001st prime + +# returns a list of every prime up to a certain number + + +def listprimes(number): + primes = [] + if (number <= 1): + return [1] + a = [1] * number + a[0] = 0 + a[1] = 0 # 1 and 0 are not prime + # Sieve of eratosthenes + for i in range(2, int(math.ceil(math.sqrt(number)))): + if(a[i] == 1): + j = i**2 # cross out all the multiples of i, starting with its square + while(j < number): + a[j] = 0 + j += i + + for k in range(2, number): + # is prime + if(a[k] == 1): + primes.append(k) + return primes + + +out_list = listprimes(1000000) +# print(out_list) +# return 10,001th prime factor +print(out_list[10000]) |