Поделитесь своими знаниями, ответьте на вопрос:
Функция Аккермана на С++ Требуется вычислить значение A(m, n) — где 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
#include <stdio.h>
unsigned akkerman(unsigned m, unsigned n) {
return ( ! m ) ? n + 1 : ( ! n ) ? akkerman(m - 1, 1) : akkerman(m - 1, akkerman(m, n - 1));
}
int main(void) {
unsigned m, n;
while ( printf(" ") && scanf("%u%u", &m, &n) == 2 )
printf("%u\n", akkerman(m, n));
return 0;
}