Консультация № 199254
03.10.2020, 20:02
0.00 руб.
1 2 1
Здравствуйте! Прошу помощи в следующем вопросе: Помогите, пожалуйста написать программу на языке Python для решения задачи, хочу обратить внимание, что ввод надо организовать с одной строки через пробел (это известно из неудачного опыта решения задачи), сама задача из курса "Введение в программирование на языке Python", модуль "рекурсия". задача в файле! Буду очень благодарен за решение!

Прикрепленные файлы:
c8f886df95cdae0f8d127ee6235047a2989a2ec9.png

Обсуждение

давно
Академик
20764
1861
04.10.2020, 14:26
общий
это ответ
Здравствуйте, alexandr!

Программа (Python 3.9 под Linux):

Код:
#!/usr/bin/python3

def A(m: int, n: int) -> int:
""" функция Аккермана
Корректность аргументов не проверяется! """

if m == 0:
return n+1
if n == 0:
return A(m - 1, 1)
return A (m - 1, A(m, n - 1))

m, n, = map(int, input ("Введите аргументы: ").split())

if m < 0 or m > 3 or n < 0 or n > 10:
raise RuntimeError("Недопустимые аргументы!")

print (A(m, n))


Результат работы:

Код:
[xbatob@pink Polygon]$ ./199254.py
Введите аргументы: 1 1
3
[xbatob@pink Polygon]$ ./199254.py
Введите аргументы: 1 2 3
Traceback (most recent call last):
File "/home/xbatob/Polygon/./199254.py", line 13, in <module>
m, n, = map(int, input ("Введите аргументы: ").split())
ValueError: too many values to unpack (expected 2)
[xbatob@pink Polygon]$ ./199254.py
Введите аргументы: 13 15
Traceback (most recent call last):
File "/home/xbatob/Polygon/./199254.py", line 16, in <module>
raise RuntimeError("Недопустимые аргументы!")
RuntimeError: Недопустимые аргументы!
4
давно
Посетитель
404255
48
04.10.2020, 20:38
общий
Спасибо за Ваш труд! Всё верно, кроме того, что надо было увеличить стек, а так все верно!
Форма ответа