From a5cabf991ffa58f81f84cb02d7dbca8826e25f5c Mon Sep 17 00:00:00 2001 From: Lubos Kolouch Date: Sat, 29 Jan 2022 13:59:07 +0100 Subject: Challenge 149 Task 1 LK Python --- challenge-149/lubos-kolouch/python/ch-1.py | 40 ++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 challenge-149/lubos-kolouch/python/ch-1.py 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] -- cgit