07-15-2022, 11:45 PM
Quote:Consolation prize: FreeBasic can't do any better! http://www.rosettacode.org/wiki/Ackerman...#FreeBASIC
Thanks!
"C" can it: Only "int" -> Ackermann Funktion
. . . but by myself the same problem. Code & screenshot.
Code: (Select All)
//Ackermann Funktion rekursiv - 15. Juli 2022
//Absturz schon bei 4, 1 = 65533 (?)
#include <stdio.h>
#include <stdlib.h>
long int ackermann(int m, int n);
int main(void)
{
int m, n;
printf("\nDemonstriert die Ackermann Funktion.\n");
printf("\nGeben Sie zwei Zahlen ein a <> b: ");
scanf("%d %d", &m,&n);
for (int i = 0; i <= m; i++)
{
for (int j = 0; j <= n; j++)
{
//i und j sonst wird nur das Endergebnis ausgegeben
printf("\nAckerman(%d, %d) ergibt: %ld", i, j, ackermann(i, j));
}
}
return(0);
}
long int ackermann(int m, int n)
{
if (!m) return n + 1;
if (!n) return ackermann(m - 1, 1);
return ackermann(m - 1, ackermann(m, n - 1));
}