Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n = int(input())
- lst = [n] + ([0] * (n - 1)) #[n, 0, ... 0]
- print(n)
- zero = n - 1#Последний 0 элемент слева
- k = 0#Индекс числа которое мы будем уменьшать
- while lst[-1] != 1:
- k = 0
- i = n - 2
- while lst[i] == 0:
- i -= 1
- zero = i + 1
- while lst[i] == 1:
- k += 1
- i -= 1
- lst[i] -= 1
- k += 1
- if lst[i] == 1:
- lst[zero] += 1
- print(*lst[:zero + 1], sep = '+')
- else:
- for r in range(i + 1, zero):
- lst[r] = 0
- while k != 0:
- if lst[i + 1] < lst[i]:
- lst[i + 1] += 1
- k -= 1
- else:
- i += 1
- print(*lst[:zero], sep = '+')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement