RosettaCodeData/Task/Ackermann-function/Go/ackermann-function-1.go

10 lines
158 B
Go
Raw Permalink Normal View History

2013-04-10 12:38:42 -07:00
func Ackermann(m, n uint) uint {
2016-12-05 22:15:40 +01:00
switch 0 {
case m:
return n + 1
case n:
return Ackermann(m - 1, 1)
}
return Ackermann(m - 1, Ackermann(m, n - 1))
2013-04-10 12:38:42 -07:00
}