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

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

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

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

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

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

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

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

Показать ответ
Ответ:
ivantitov2002
ivantitov2002
13.05.2021 20:35

Объяснение:

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

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота