RosettaCodeData/Task/Zeckendorf-number-representation/Python/zeckendorf-number-representation-2.py
2023-07-01 13:44:08 -04:00

15 lines
354 B
Python

n = 20
def z(n):
if n == 0 : return [0]
fib = [2,1]
while fib[0] < n: fib[0:0] = [sum(fib[:2])]
dig = []
for f in fib:
if f <= n:
dig, n = dig + [1], n - f
else:
dig += [0]
return dig if dig[0] else dig[1:]
for i in range(n + 1):
print('%3i: %8s' % (i, ''.join(str(d) for d in z(i))))