diff options
| author | Lubos Kolouch <lubos@kolouch.net> | 2022-01-29 13:59:07 +0100 |
|---|---|---|
| committer | Lubos Kolouch <lubos@kolouch.net> | 2022-01-29 13:59:07 +0100 |
| commit | a5cabf991ffa58f81f84cb02d7dbca8826e25f5c (patch) | |
| tree | 3c96b3d1b397be72a6169a92717b36cc7e578ab3 /challenge-149 | |
| parent | dc6adce803a5d8affa26b0d58a4653866f0af722 (diff) | |
| download | perlweeklychallenge-club-a5cabf991ffa58f81f84cb02d7dbca8826e25f5c.tar.gz perlweeklychallenge-club-a5cabf991ffa58f81f84cb02d7dbca8826e25f5c.tar.bz2 perlweeklychallenge-club-a5cabf991ffa58f81f84cb02d7dbca8826e25f5c.zip | |
Challenge 149 Task 1 LK Python
Diffstat (limited to 'challenge-149')
| -rw-r--r-- | challenge-149/lubos-kolouch/python/ch-1.py | 40 |
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] |
