RosettaCodeData/Task/Factorial/Odin/factorial.odin
2023-07-01 13:44:08 -04:00

16 lines
296 B
Odin

package main
factorial :: proc(n: int) -> int {
return 1 if n == 0 else n * factorial(n - 1)
}
factorial_iterative :: proc(n: int) -> int {
result := 1
for i in 2..=n do result *= i
return result
}
main :: proc() {
assert(factorial(4) == 24)
assert(factorial_iterative(4) == 24)
}