Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/79: Рейтинг темы: голосов - 79, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 94

Определить функцию Аккермана

08.12.2015, 19:06. Показов 15977. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ограничение по времени работы программы: 1 секунда
В теории вычислимости важную роль играет функция Аккермана A(m,n) от двух параметров (неотрицательных целых чисел), определенная следующим образом:
A(m,n)=n+1, при m=0,
A(m,n)=A(m−1,1), при m>0, n=0,
A(m,n)=A(m−1,A(m,n−1)), при m>0, n>0.
По данным m и n вычислите A(m,n).
ВХОДНЫЕ ДАННЫЕ

Программа получает на вход два целых неотрицательных числа m и n, записанных в отдельных строчках.
ВЫХОДНЫЕ ДАННЫЕ

Программа должна вывести значение A(m,n). Известно, что результат не превосходит 100000.

ПРИМЕР
ввод
3
2
вывод
29
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.12.2015, 19:06
Ответы с готовыми решениями:

Как написать функцию Аккермана?
Помогите пожалуйста : 1) написать реализацию функции Аккермана. правила 5.16. Запрещено создавать темы с множеством вопросов во...

Составить рекурсивную функцию, которая вычисляет функцию Аккермана по формуле
Составить рекурсивную функцию, которая вычисляет функцию Аккермана по формуле A(n,m)= m+1, (если n=0) A = A(n - 1, 1), (если n...

Вычислить функцию Аккермана
Подскожите где ошибка. Здесь надо найти функцию Аккермана. #include "stdafx.h" int main () { ...

9
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
09.12.2015, 01:49
Python
1
2
3
4
5
6
7
def A(m,n):
    if m:
        if n:
            return A(m - 1, A(m, n - 1))
        else:
            return A(m - 1, 1)
    return n + 1
0
0 / 0 / 0
Регистрация: 23.10.2015
Сообщений: 94
09.12.2015, 17:13  [ТС]
проблема с вводом (3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)]
Python Type "help", "copyright", "credits" or "license" for more information.
[evaluate untitled-6.py]
3
3
2
2
)
0
09.12.2015, 18:43

Не по теме:

За 30 или более вопросов только на этом формуме Вы не научились организовывать считывание данных?

0
09.12.2015, 19:30

Не по теме:

Marinero, а он больно учился чтоль? За него ему все решили. Вообще очень оборзевший чувак ИМХО.

0
05.01.2016, 16:34
 Комментарий модератора 
Поиск!
0
6 / 5 / 4
Регистрация: 14.01.2017
Сообщений: 294
04.06.2017, 16:15
А как в этом коде вывод сделать? С print-ом
Цитата Сообщение от Marinero Посмотреть сообщение
def A(m,n):
* * if m:
* * * * if n:
* * * * * * return A(m - 1, A(m, n - 1))
* * * * else:
* * * * * * return A(m - 1, 1)
* * return n + 1
у меня не работает почему-то
0
4 / 9 / 2
Регистрация: 05.10.2020
Сообщений: 51
05.11.2020, 19:41
Python
1
2
3
4
5
6
7
8
9
def A(m, n):
    z = []
    z.append([1,2,3,4,5,6,7,8,9,10,11])
    z.append([2,3,4,5,6,7,8,9,10,11,12])
    z.append([3,5,7,9,11,13,15,17,19,21,23])
    z.append([5,13,29,61,125,253,509,1021,2045,4093,8189])
    return z[m][n]
a,b = map(int, input().split())
print(A(a, b))
Ну а че) В Сириус.Курсах прошло если что)00))0))))
0
4 / 9 / 2
Регистрация: 05.10.2020
Сообщений: 51
04.04.2021, 14:45
Сейчас изучаю c++ и наткнулся на эту задачу, снова не мог решить. Когда увидел свой же ответ было смешно. Решил сейчас сам нормально.
c++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int A(int m, int n){
    if (m == 0) 
        return n+1;
    if (m > 0 && n == 0)    
        A(m-1, 1);
    if (m > 0 && n > 0) 
        A(m-1, A(m, n-1));
}
 
int main(){
    int m, n;
    cin >> m >> n;
    cout << A(m, n);
    return 0;
}
python
Python
1
2
3
4
5
6
7
8
9
10
def A(m, n):
    elif m == 0:
        return n+1
    elif m > 0 and n == 0:
        A(m-1, n)
    elif m > 0 and n > 0:
        A(m-1, A(m, n-1))
 
m, n = map(int, input().split())
print(A(m, n))
ps На питоне может не работать, тк переписывал без теста с с++
0
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
04.04.2021, 17:51
MaMush,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
memo = {}
 
def akk(m, n):
    if not (m, n) in memo:
        if m == 0:
            res = n + 1
        if m>0 and n==0:
            res = akk(m-1,1)
        if m>0 and n>0:
            res = akk(m-1,akk(m,n-1))
        memo[(m, n)] = res
    return memo[(m, n)]
 
a, b = map(int,input().split())
print(akk(a,b))
Добавлено через 6 минут
akk(3, 15) - 0.5 сек
https://ideone.com/6rUX8J
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2021, 17:51
Помогаю со студенческими работами здесь

Вычислить функцию Аккермана
9.1. Даны натуральное число n, действительные числа a1, a2, ..., an; b1, b2, ..., bn. Получить e = f2(a1, a2, ..., an) + f(b1, a2, ...,...

Написать функцию Аккермана
Нужна помощь в написании. Visual Prolog 7.5 Написать функцию Аккермана. Эта функция часто используется для оценки способности...

Вычислить функцию Аккермана
Даны неотрицательные целые числа n и m. Необходимо вычислить функцию Аккермана: A(m.n){ n+1, если m=0; A(m-1,1), если m&gt;0,n=0; ...

Найти рекурсивную функцию Аккермана
Подскажите где ошибка. Здесь надо найти рекурсивную функцию Аккермана. Вроде всё нормально, но результат не выводит! #include...

Вычислить функцию Аккермана, используя рекурсию
Здравствуйте. В программировании новичок. Сможете помочь с такой задачкой: C# Вычислить, используя рекурсию, функцию Аккермана: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru