aboutsummaryrefslogtreecommitdiffstats
path: root/07-10001st-Prime/10001prime.py
diff options
context:
space:
mode:
authormjfernez <mjfernez@gmail.com>2020-02-09 15:16:26 -0500
committermjfernez <mjfernez@gmail.com>2020-02-09 15:16:26 -0500
commit93ea7fe5957b62f18e8fbd17a21696bd7de6332d (patch)
treed90aed60d687bcf195f1150777f37cbe8a149814 /07-10001st-Prime/10001prime.py
parent125ec5bc3d8bfc224b7d32bcfbbc37b9fb5d441f (diff)
downloadProject_Euler_Solutions-93ea7fe5957b62f18e8fbd17a21696bd7de6332d.tar.gz
Organized everything, update README
Diffstat (limited to '07-10001st-Prime/10001prime.py')
-rw-r--r--07-10001st-Prime/10001prime.py34
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])