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

Ответы 1

  • Python 3.4import mathimport sysdef step(n, L):    if n == 0:        print(L[1], end = '')        for i in L[2:]: print('+{0}'.format(i), end = '')        print()    else:        if n >= 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])
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years