Предмет: Информатика, автор: Shmeven

Рекурсивная сумма
Запишите рекурсивную функцию, вычисляющую сумму целых чисел m и n, в которой из арифметических операций используется только прибавление и вычитание единицы.

В данной задаче запрещено использовать циклы, массивы. Вы обязаны решить задачу с помощью рекурсивной функции.

Входные данные

Дано два целых числа, по модулю не превосходящих 300.

Выходные данные

Выведите сумму.

Примеры
Ввод
Вывод
2 3
5

Ответы

Автор ответа: ZaSeYtBpImOk
0

Объяснение:

def amount(a, b):

   if b > 0:

       a += 1

       b -= 1

       return summ(a, b)

   else:

       return a

n = int(input())

m = int(input())

print(summ(m, n))

Сначала проверяется условие b > 0. Это базовый случай, то есть случай, когда рекурсия заканчивается. Потом идёт присваивание первому числу единицы, а из b она вычитается. Прибавление единицы числу a будет ровно b раз, то есть к числу а прибавится значение числа b. И когда уже b равно нулю, то происходит выход из рекурсии, и функция возвращает число a, то есть сумму чисел a и b.

Програмка не работает с отрицательными числами, мне лень думать :3


ProfesorGogs: неа неправильно выдаёт ошибке
Похожие вопросы