RosettaCodeData/Task/Ackermann-function/Rust/ackermann-function.rust
2014-04-02 16:56:35 +00: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))
}
}