Hallo! Uns wurde diese methode gegeben die rekursiv die Ackermmanfunktion implementiert. Das ist das Bildungsgetzt;
a(0,m) = m + 1
a(n + 1,0) = a(n,1)
a(n +1, m +1) = a(n,a(n+1,m))
Und das ist die methode:
Jetzt verstehe ich nicht so ganz diese return statements, bzw. von wo diese n-1, m-1... kommen. Welche Logik verwendet man um zu wiesen was für ein return man braucht so dass man die Ackermmanfunktion rekursiv berechnet. Danke!
a(0,m) = m + 1
a(n + 1,0) = a(n,1)
a(n +1, m +1) = a(n,a(n+1,m))
Und das ist die methode:
Java:
public class test {
public long ack(long n, long m) {
if( n == 0) {
return m+1;
}
else if(m == 0) {
return ack (n-1,1);
}
else {
return ack(n-1,ack(n,m-1));
}
}
}
Jetzt verstehe ich nicht so ganz diese return statements, bzw. von wo diese n-1, m-1... kommen. Welche Logik verwendet man um zu wiesen was für ein return man braucht so dass man die Ackermmanfunktion rekursiv berechnet. Danke!