Sum multiples of 3 and 5: Difference between revisions
OCaml: efficient variant
(→{{header|Vlang}}: Rename "Vlang" in "V (Vlang)") |
(OCaml: efficient variant) |
||
Line 2,916:
=={{header|OCaml}}==
<syntaxhighlight lang="ocaml">let
let termial x = (x *
3 * (termial (n / 3)
let () =
let pow10 x = truncate (10. ** (float x)) in
</syntaxhighlight>▼
for i = 1 to 9 do
let u = pred (pow10 i) in
Printf.printf "Summing multiples of 3 or 5 in 1..%u: %u\n" u (sum_m3m5 u)
▲ done</syntaxhighlight>
{{out}}
<
Summing multiples of 3 or 5 in 1..9: 23
Summing multiples of 3 or 5 in 1..99: 2318
Summing multiples of 3 or 5 in 1..999: 233168
Summing multiples of 3 or 5 in 1..9999: 23331668
Summing multiples of 3 or 5 in 1..99999: 2333316668
Summing multiples of 3 or 5 in 1..999999: 233333166668
Summing multiples of 3 or 5 in 1..9999999: 23333331666668
Summing multiples of 3 or 5 in 1..99999999: 2333333316666668
Summing multiples of 3 or 5 in 1..999999999: 233333333166666668
</pre>
=== With wheel increments (slower) ===
<syntaxhighlight lang="ocaml">
open Printf;;
|