Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
Iterative two-ref Fibonacci with modular reduction every step:
let fib_mod n m =
let a = ref 0 in
let b = ref 1 in
for _ = 1 to n do
let c = (!a + !b) mod m in
a := !b;
b := c
done;
!a
The 100th Fibonacci is 354_224_848_179_261_915_075, well past JS
safe-int (2^53). Modular reduction every step keeps intermediate
values within int53 precision so the answer is exact in our
runtime. fib(100) mod 1000003 = 391360.
76 baseline programs total.
14 lines
169 B
OCaml
14 lines
169 B
OCaml
let fib_mod n m =
|
|
let a = ref 0 in
|
|
let b = ref 1 in
|
|
for _ = 1 to n do
|
|
let c = (!a + !b) mod m in
|
|
a := !b;
|
|
b := c
|
|
done;
|
|
!a
|
|
|
|
;;
|
|
|
|
fib_mod 100 1000003
|