factorial.odin 350 B

1234567891011121314151617181920
  1. import "core:fmt.odin";
  2. main :: proc() {
  3. recursive_factorial :: proc(i: u64) -> u64 {
  4. if i < 2 do return 1;
  5. return i * recursive_factorial(i-1);
  6. }
  7. loop_factorial :: proc(i: u64) -> u64 {
  8. result: u64 = 1;
  9. for n in 2..i {
  10. result *= n;
  11. }
  12. return result;
  13. }
  14. fmt.println(recursive_factorial(12));
  15. fmt.println(loop_factorial(12));
  16. }