aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-149/lubos-kolouch/python/ch-1.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-149/lubos-kolouch/python/ch-1.py b/challenge-149/lubos-kolouch/python/ch-1.py
new file mode 100644
index 0000000000..74fb3990be
--- /dev/null
+++ b/challenge-149/lubos-kolouch/python/ch-1.py
@@ -0,0 +1,40 @@
+""" Challenge 149 Task 1"""
+fibs = []
+fib_hash = {}
+
+fibs.append(0)
+fibs.append(1)
+
+fib_hash[0] = 1
+fib_hash[1] = 1
+
+def gen_more_fibs(limit:int):
+ """ Generate more Fibonacci numbers if needed"""
+
+ while fibs[-1] < limit:
+ new_fib =fibs[-1] + fibs[-2]
+ fibs.append(new_fib)
+ fib_hash[new_fib] = 1
+
+
+def get_numbers(what: int):
+ """Get the list as required"""
+
+ count = 0
+ pos = 0
+
+ output = []
+
+ while count < what:
+ gen_more_fibs(pos)
+ try:
+ fib_hash[sum(list(map(int, str(pos))))]
+ output.append(pos)
+ count += 1
+ except KeyError:
+ pass
+ pos += 1
+
+ return output
+
+assert get_numbers(20) == [0, 1, 2, 3, 5, 8, 10, 11, 12, 14, 17, 20, 21, 23, 26, 30, 32, 35, 41, 44]