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

7 lines
138 B
Text

fn ack(m: u64, n: u64) -> u64 {
match (m, n) {
(0, n) => n + 1,
(m, 0) => ack(m - 1, 1),
(m, n) => ack(m - 1, ack(m, n - 1)),
}
}