aboutsummaryrefslogtreecommitdiffstats
path: root/10001prime.py
blob: bc51d491185c0b110ff8431a735242b3450a1616 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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])