Factorions: Difference between revisions

Content added Content deleted
(→‎{{header|zkl}}: added code)
(→‎{{header|OCaml}}: added ocaml, translation of C)
Line 150: Line 150:
1 2
1 2
</pre>
</pre>


=={{header|OCaml}}==
{{trans|C}}
<lang ocaml>
let () =
(* cache factorials from 0 to 11 *)
let fact = Array.make 12 0 in
fact.(0) <- 1;
for n = 1 to pred 12 do
fact.(n) <- fact.(n-1) * n;
done;

for b = 9 to 12 do
Printf.printf "The factorions for base %d are:\n" b;
for i = 1 to pred 1500000 do
let sum = ref 0 in
let j = ref i in
while !j > 0 do
let d = !j mod b in
sum := !sum + fact.(d);
j := !j / b;
done;
if !sum = i then (print_int i; print_string " ")
done;
print_string "\n\n";
done
</lang>



=={{header|Perl 6}}==
=={{header|Perl 6}}==