Another update from ingydotnet^djgoku
This commit is contained in:
parent
91df62d461
commit
948b86eafa
7604 changed files with 108452 additions and 22726 deletions
30
Task/Ackermann-function/Objeck/ackermann-function.objeck
Normal file
30
Task/Ackermann-function/Objeck/ackermann-function.objeck
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
class Ackermann {
|
||||
function : Main(args : String[]) ~ Nil {
|
||||
for(m := 0; m <= 3; ++m;) {
|
||||
for(n := 0; n <= 4; ++n;) {
|
||||
a := Ackermann(m, n);
|
||||
if(a > 0) {
|
||||
"Ackermann({$m}, {$n}) = {$a}"->PrintLine();
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
function : Ackermann(m : Int, n : Int) ~ Int {
|
||||
if(m > 0) {
|
||||
if (n > 0) {
|
||||
return Ackermann(m - 1, Ackermann(m, n - 1));
|
||||
}
|
||||
else if (n = 0) {
|
||||
return Ackermann(m - 1, 1);
|
||||
};
|
||||
}
|
||||
else if(m = 0) {
|
||||
if(n >= 0) {
|
||||
return n + 1;
|
||||
};
|
||||
};
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue