RosettaCodeData/Task/Ackermann-function/Rust/ackermann-function-1.rust

15 lines
236 B
Text
Raw Permalink Normal View History

2015-11-18 06:14:39 +00:00
fn ack(m: isize, n: isize) -> isize {
if m == 0 {
n + 1
} else if n == 0 {
ack(m - 1, 1)
} else {
ack(m - 1, ack(m, n - 1))
}
2014-04-02 16:56:35 +00:00
}
2015-11-18 06:14:39 +00:00
fn main() {
let a = ack(3, 4);
println!("{}", a); // 125
2014-04-02 16:56:35 +00:00
}