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

Ответы на вопрос

Объяснение:
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



Для решения этой задачи, мы можем создать рекурсивную функцию, которая будет прибавлять или вычитать единицу от одного из чисел до тех пор, пока одно из чисел не станет равным нулю. Затем вернем другое число в качестве результата. Вот пример на Python:
pythondef recursive_sum(m, n):
if m == 0: # Если m стало равным нулю, возвращаем n
return n
elif n == 0: # Если n стало равным нулю, возвращаем m
return m
else:
if m > 0: # Если m положительное, уменьшаем его на единицу, увеличиваем n на единицу
return recursive_sum(m - 1, n + 1)
else: # Если m отрицательное, увеличиваем его на единицу, уменьшаем n на единицу
return recursive_sum(m + 1, n - 1)
# Ввод данных
m = int(input())
n = int(input())
# Вызываем функцию и выводим результат
result = recursive_sum(m, n)
print(result)
При вводе 2 и 3, данная функция вернет 5, как указано в вашем примере.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili