RosettaCodeData/Task/Ackermann-function/Rust/ackermann-function-1.rust
2015-02-20 00:35:01 -05:00

15 lines
231 B
Text

// works for Rust 0.9
fn main() {
let a: int = ack(3, 4); // 125
println!("{}", a.to_str());
}
fn ack(m: int, n: int) -> int {
if m == 0 {
n + 1
} else if n == 0 {
ack(m - 1, 1)
} else {
ack(m - 1, ack(m, n - 1))
}
}