ocaml: phase 5.1 euler6.ml baseline (Project Euler #6, sum^2 - sum_sq for 1..100 = 25164150)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 22s

Project Euler #6: difference between square of sum and sum of squares
for 1..100.

  let euler6 n =
    let sum = ref 0 in
    let sum_sq = ref 0 in
    for i = 1 to n do
      sum := !sum + i;
      sum_sq := !sum_sq + i * i
    done;
    !sum * !sum - !sum_sq

  euler6 100 = 5050^2 - 338350 = 25502500 - 338350 = 25164150

102 baseline programs total.
This commit is contained in:
2026-05-09 20:16:49 +00:00
parent 4840a9f660
commit 2c7246e11d
3 changed files with 17 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
let euler6 n =
let sum = ref 0 in
let sum_sq = ref 0 in
for i = 1 to n do
sum := !sum + i;
sum_sq := !sum_sq + i * i
done;
!sum * !sum - !sum_sq
;;
euler6 100

View File

@@ -26,6 +26,7 @@
"exception_user.ml": 26,
"euler1.ml": 233168,
"euler2.ml": 4613732,
"euler6.ml": 25164150,
"expr_eval.ml": 16,
"expr_simp.ml": 22,
"factorial.ml": 3628800,

View File

@@ -407,6 +407,10 @@ _Newest first._
binary search tree (`type 'a tree = Leaf | Node of 'a * 'a tree *
'a tree`) with insert + in-order traversal. Tests parametric ADT,
recursive match, List.append, List.fold_left.
- 2026-05-09 Phase 5.1 — euler6.ml baseline (Project Euler #6, square
of sum minus sum of squares for 1..100 = 25164150). Single for-loop
threading two refs; (sum 1..100)^2 - sum(i^2 for 1..100) = 5050^2
- 338350 = 25502500 - 338350 = 25164150. 102 baseline programs total.
- 2026-05-09 Phase 5.1 — euler2.ml baseline (Project Euler #2, sum
of even Fibonacci ≤ 4M = 4613732). Iterative two-ref Fibonacci,
accumulating only even terms. Sequence: 1, 2, 3, 5, 8, 13, 21,