From 7bfc78b122ad9cbb65eed16f7de4d4021547c2a8 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 23 Mar 2024 19:18:16 +0100 Subject: Some Project Euler solutions --- samples/euler/009.bruijn | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 samples/euler/009.bruijn (limited to 'samples/euler/009.bruijn') diff --git a/samples/euler/009.bruijn b/samples/euler/009.bruijn new file mode 100644 index 0000000..be21d9e --- /dev/null +++ b/samples/euler/009.bruijn @@ -0,0 +1,17 @@ +:import std/Combinator . +:import std/Logic . +:import std/Math . +:import std/List . + +# solve' [head <#> lst] +# check (2 + 1 + 0 =? 3) ⋀? ((0 ** (+2)) + (1 ** (+2)) =? (2 ** (+2))) (true : (2 ⋅ 1 ⋅ 0)) {}false +# lst concat-map [concat-map [map [check] ({ (+1) → --0 })] ({ (+1) → --0 })] ({ (+1) → 0 }) + +solve [head <#> lst] → head → tail + check [[[[[2 + 1 + 0 =? 7 (true : (2 ⋅ 1 ⋅ 0)) {}false]]] a b c]] (1 ** (+2)) (0 ** (+2)) + a 1 - 0 + b (+2) ⋅ 3 ⋅ 2 + c 1 + 0 + lst concat-map [map [check] ({ (+1) → --0 })] ({ (+2) → (sqrt 0) }) + +main [solve (+1000)] -- cgit v1.2.3