From 31a89963b6795d4edb9f7eec3e488f4716ca27f2 Mon Sep 17 00:00:00 2001 From: Artem-Darius Weber Date: Thu, 17 Apr 2025 12:00:35 +0300 Subject: [PATCH] (IT 1) feat: sum calculation, diterminate the final answer --- Individual Task 1/Program.fs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Individual Task 1/Program.fs b/Individual Task 1/Program.fs index 1f676b1..ecd1a69 100644 --- a/Individual Task 1/Program.fs +++ b/Individual Task 1/Program.fs @@ -45,6 +45,15 @@ module EulerProblem105 = let isSpecialSumSet set = let sortedSet = List.sort set checkPrefixSuffixRule sortedSet && checkUniqueSums sortedSet + + let findAllSpecialSumSets sets = + sets + |> List.filter isSpecialSumSet + + let sumSpecialSumSets specialSets = + specialSets + |> List.map List.sum + |> List.sum let run filePath = let sets = parseInput filePath @@ -59,10 +68,15 @@ module EulerProblem105 = printfn "Проверка второго примера: %A" testExample2 printfn "Результат: %b (ожидается: true)" (isSpecialSumSet testExample2) - 0 + let specialSets = findAllSpecialSumSets sets + printfn "Найдено %d special sum sets" (List.length specialSets) + + let result = sumSpecialSumSets specialSets + printfn "Окончательный ответ: %d" result + + result [] let main argv = let result = EulerProblem105.run "sets.txt" - printfn "Результат: %d" result 0