|
@@ -283,3 +283,12 @@ module Utils where
|
|
|
then go' (x * 10) True (n)
|
|
then go' (x * 10) True (n)
|
|
|
else [(intToDigit hmf)] ++ (go' (x-(dn*hmf)) False (n-1))
|
|
else [(intToDigit hmf)] ++ (go' (x-(dn*hmf)) False (n-1))
|
|
|
where hmf = howManyFit dn x
|
|
where hmf = howManyFit dn x
|
|
|
|
|
+
|
|
|
|
|
+ isPrime :: Int -> Bool
|
|
|
|
|
+ isPrime x = (divs x) == [1]
|
|
|
|
|
+
|
|
|
|
|
+ addResult :: (a -> b) -> a -> (a, b)
|
|
|
|
|
+ addResult f x = (x, f x)
|
|
|
|
|
+
|
|
|
|
|
+ mapFindMaxInitial :: Ord b => (a -> b) -> [a] -> a
|
|
|
|
|
+ mapFindMaxInitial f l = map (addResult f) l |> maximumBy (\a b -> compare (snd a) (snd b)) |> fst
|