aboutsummaryrefslogtreecommitdiff
path: root/python/wip
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-08-17 21:39:43 +0200
committerCharles <sircharlesaze@gmail.com>2019-08-17 21:39:43 +0200
commit3ffc76713f6db4c33f20588ce6896ea3c2bae2a7 (patch)
tree1025c801330f078e3a12da191f923ae8b6ddd81b /python/wip
parent9a65938232d1fa9e1afe9a6eb2de48d25ff738a6 (diff)
downloadproject_euler-3ffc76713f6db4c33f20588ce6896ea3c2bae2a7.tar.gz
project_euler-3ffc76713f6db4c33f20588ce6896ea3c2bae2a7.tar.bz2
project_euler-3ffc76713f6db4c33f20588ce6896ea3c2bae2a7.zip
wip directory for each language
Diffstat (limited to 'python/wip')
-rw-r--r--python/wip/023-non_abudant_sums.py16
-rw-r--r--python/wip/026-reciprocal_cycles.py5
-rw-r--r--python/wip/027-quadratic_primes.py17
-rw-r--r--python/wip/031-coin_sums.py12
-rw-r--r--python/wip/037-truncatable_primes.py25
-rw-r--r--python/wip/045-triangular_pentagonal_and_hexagonal.py9
-rw-r--r--python/wip/047-distinct_primes_factors.py20
-rw-r--r--python/wip/049-prime_permutations.py23
8 files changed, 127 insertions, 0 deletions
diff --git a/python/wip/023-non_abudant_sums.py b/python/wip/023-non_abudant_sums.py
new file mode 100644
index 0000000..6e3eea2
--- /dev/null
+++ b/python/wip/023-non_abudant_sums.py
@@ -0,0 +1,16 @@
+# def getAllDivisorOf(num):
+# divisor_list = []
+# for i in range(1, num):
+# if num % i == 0:
+# divisor_list.append(i)
+# return divisor_list
+
+
+# for num in range(1, 28123 + 1):
+# pass
+
+# for i in range(3):
+# for j in range(3):
+# for k in range(3):
+# if i != j and i != k and j != k:
+# print(i, j, k)
diff --git a/python/wip/026-reciprocal_cycles.py b/python/wip/026-reciprocal_cycles.py
new file mode 100644
index 0000000..b502c9a
--- /dev/null
+++ b/python/wip/026-reciprocal_cycles.py
@@ -0,0 +1,5 @@
+from decimal import Decimal
+
+for i in range(1, 11):
+ # decimals = int(str(1/i)[2:])
+ print(d)
diff --git a/python/wip/027-quadratic_primes.py b/python/wip/027-quadratic_primes.py
new file mode 100644
index 0000000..8b21cc6
--- /dev/null
+++ b/python/wip/027-quadratic_primes.py
@@ -0,0 +1,17 @@
+from itertools import count
+from helper.prime import is_prime
+
+
+ab_iter = [(a, b) for b in range(1_001) for a in range(1_000)]
+
+max_product = 0
+max_prime_seq = 0
+for a, b in ab_iter:
+ for n in count():
+ if (not is_prime(n**2 + a*n + b)) and n > max_prime_seq:
+ max_prime_seq = n
+ max_product = a * b
+ print(max_product)
+ break
+
+
diff --git a/python/wip/031-coin_sums.py b/python/wip/031-coin_sums.py
new file mode 100644
index 0000000..c9a823d
--- /dev/null
+++ b/python/wip/031-coin_sums.py
@@ -0,0 +1,12 @@
+coins = [200, 100, 50, 20, 10, 5, 2, 1]
+
+TOTAL = 200
+coin_index = 0
+combinations = [200]
+combination_nb = 1
+while True:
+ if sum(combinations) == 200:
+ coin_index += 1
+ combinations[0] = coins[coin_index]
+
+
diff --git a/python/wip/037-truncatable_primes.py b/python/wip/037-truncatable_primes.py
new file mode 100644
index 0000000..1ad7d29
--- /dev/null
+++ b/python/wip/037-truncatable_primes.py
@@ -0,0 +1,25 @@
+from helper.prime import primes_loop, is_prime
+
+
+def is_truncatable(prime):
+ p_str = str(prime)
+ for i in range(1, len(p_str)):
+ if not is_prime(int(p_str[i:])):
+ return False
+ for i in range(1, len(p_str)):
+ if not is_prime(int(p_str[:-i])):
+ return False
+ if prime in [2, 3, 5, 7]:
+ return False
+ return True
+
+
+trunc_p_list = []
+for p in primes_loop():
+ if is_truncatable(p):
+ trunc_p_list.append(p)
+ if len(trunc_p_list) == 11:
+ break
+
+print(trunc_p_list)
+print(sum(trunc_p_list))
diff --git a/python/wip/045-triangular_pentagonal_and_hexagonal.py b/python/wip/045-triangular_pentagonal_and_hexagonal.py
new file mode 100644
index 0000000..5fba8f8
--- /dev/null
+++ b/python/wip/045-triangular_pentagonal_and_hexagonal.py
@@ -0,0 +1,9 @@
+from itertools import count
+from helper.numbers import triangular, is_pentagonal, is_hexagonal
+
+
+for i in count(286):
+ t = triangular(i)
+ if is_pentagonal(t) and is_hexagonal(t):
+ print(t)
+ break
diff --git a/python/wip/047-distinct_primes_factors.py b/python/wip/047-distinct_primes_factors.py
new file mode 100644
index 0000000..ac09b9a
--- /dev/null
+++ b/python/wip/047-distinct_primes_factors.py
@@ -0,0 +1,20 @@
+from itertools import count
+from helper.prime import get_prime_factors, primes_loop
+
+# TROP LENT
+
+def as_four_distinct_prime_factors(num):
+ return len(set(get_prime_factors(num))) == 3
+
+def check_next_three(num):
+ for i in range(1, 3):
+ if not as_four_distinct_prime_factors(num + i):
+ return False
+ return True
+
+
+for num in primes_loop():
+ if as_four_distinct_prime_factors(num):
+ if check_next_three(num):
+ print(num)
+ break
diff --git a/python/wip/049-prime_permutations.py b/python/wip/049-prime_permutations.py
new file mode 100644
index 0000000..d90754e
--- /dev/null
+++ b/python/wip/049-prime_permutations.py
@@ -0,0 +1,23 @@
+from itertools import permutations
+from helper.prime import is_prime
+
+
+def constant_inscrease(perms):
+
+
+
+def get_prime_permutations(nb):
+ return sorted([
+ int(''.join(x))
+ for x in permutations(str(nb), 4)
+ if (is_prime(int(''.join(x)))
+ and len(str(int(''.join(x)))) == 4)
+ ])
+
+# print(get_prime_permutations(1487))
+for i in range(1000, 10_000):
+ if not is_prime(i):
+ continue
+ print(get_prime_permutations(i))
+# if all([is_prime(p) for p in permutations]):
+# print(sorted(permutations))