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