Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 40s
Compute every power a^b for a, b in [2..N] and count distinct
values. Hashtbl as a set with unit-payload (iter-168 idiom):
let euler29 n =
let h = Hashtbl.create 64 in
for a = 2 to n do
for b = 2 to n do
let p = ref 1 in
for _ = 1 to b do p := !p * a done;
Hashtbl.replace h !p ()
done
done;
Hashtbl.length h
For N=5: 16 powers minus one duplicate (4^2 = 2^4 = 16) -> 15.
Real PE29 uses N=100 (answer 9183).
120 baseline programs total — milestone.
15 lines
235 B
OCaml
15 lines
235 B
OCaml
let euler29 n =
|
|
let h = Hashtbl.create 64 in
|
|
for a = 2 to n do
|
|
for b = 2 to n do
|
|
let p = ref 1 in
|
|
for _ = 1 to b do p := !p * a done;
|
|
Hashtbl.replace h !p ()
|
|
done
|
|
done;
|
|
Hashtbl.length h
|
|
|
|
;;
|
|
|
|
euler29 5
|