Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- fib = [1, 2]
- for i in range(100):
- fib.append(fib[-2] + fib[-1])
- def gen(pref, pos, cnt, need):
- global n, k
- if need == 0:
- sys.stdout.write(pref)
- sys.stdout.write('\n')
- return
- if need < 0:
- return
- if cnt < k:
- gen(pref + '+' + str(fib[pos]) if pref != '' else str(fib[pos]), pos, cnt + 1, need - fib[pos])
- nxt = pos + 1
- while need - fib[nxt] >= 0:
- gen(pref + '+' + str(fib[nxt]) if pref != '' else str(fib[nxt]), nxt, 1, need - fib[nxt])
- nxt += 1
- n = int(input())
- k = int(input())
- gen('', 0, 0, n)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement