Уровень C. Дано естественное число N. Нужно получить и вывести на

Уровень C. Дано натуральное число N. Нужно получить и вывести на экран все вероятные различные методы представления этого числа в виде суммы естественных чисел (то есть, 1 + 2 и 2 + 1 это один и тот же способ разложения числа 3). Решите задачку с подмогою рекурсивной процедуры.
Пример:
Введите естественное число:
4
1 + 1 + 1 + 1
1 + 1 + 2
1 + 3
2 + 2

Задать свой вопрос
Roman Tyrle
6 баллов - это жлобство... на данный момент напишу
1 ответ
Python 3.4

import math
import sys
def step(n, L):
    if n == 0:
        print(L[1], end = '')
        for i in L[2:]: print('+0'.format(i), end = '')
        print()
    else:
        if n gt;= L[len(L) - 1]:
            for i in range(max(1, L[len(L)-1]), n + 1):
                step(n - i, L + [i])            
n = int(input('Введите число, которое желаете разложить на слагаемые: '))
step(n,[0])
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт