Задать вопрос
13 мая, 21:47

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

Пример:

Введите натуральное число:

4

1 + 1 + 1 + 1

1 + 1 + 2

1 + 3

2 + 2

+5
Ответы (1)
  1. 13 мая, 22:07
    0
    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 > = 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])
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Уровень C. Дано натуральное число N. Требуется получить и вывести на экран все возможные различные способы представления этого числа в виде ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
1. for + random a. вывести случайное количество случайных чисел b. вывести на экран 10 случайных чисел c. вывести на экран 10 случайных чисел, значение которых лежит в отрезке [0,10] d.
Ответы (1)
Паскаль. 1. вывести на экран все четные числа от 1 до n. 2. вывести на экран все трехзначные числа. 3. вывести на экран четырехзначные числа оканчивающийся на 7. 4. вывести на экран все трехзначные и двухзначные числа сумма цифр которых равна девяти.
Ответы (1)
Python. Уровень B. Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом. Пример: Введите натуральное число: 12342 Нет. Пример: Введите натуральное число: 12245 Да.
Ответы (1)
Вычислить произведение четырех натур. чисел, используя только операцию сложения. (Язык пр:pascal) 1) Написать программу (обычную) 2) Написать программу с использованием процедуры 3) Написать программу с исп. функции 4) Написать программу с исп.
Ответы (1)
1) Заполнить массив размером N целыми числами последовательно от 1 до N. Вывести его на экран. Найти сумму элементов массива и вывести ее на экран. 2) Заполнить массив размером N целыми числами последовательно от N до 1. Вывести его на экран.
Ответы (1)