RosettaCodeData/Task/Sudan-function/F-Sharp/sudan-function.fs
2023-07-01 13:44:08 -04:00

5 lines
216 B
FSharp

let rec sudan = function
0L, x, y -> x + y
|_, x, 0L -> x
|n, x, y -> let x' = sudan (n, x, y-1L) in sudan (n-1L, x', x' + y)
printfn "%d\n%d\n%d" (sudan(1L, 13L, 14L)) (sudan(2L, 5L, 1L)) (sudan(2L, 2L, 2L))