diff --git a/problems/20/solution.exs b/problems/20/solution.exs new file mode 100644 index 0000000..ee20686 --- /dev/null +++ b/problems/20/solution.exs @@ -0,0 +1,15 @@ +defmodule FactDigitSum do + defp fact(1, acc), do: acc + defp fact(n, acc), do: fact(n - 1, n * acc) + def fact(n), do: fact(n - 1, n) + + defp digit_sum(0, acc), do: acc + defp digit_sum(n, acc), do: digit_sum(div(n, 10), rem(n, 10) + acc) + def digit_sum(n), do: digit_sum(n, 0) +end + + +FactDigitSum.fact(100) +|> FactDigitSum.digit_sum() +|> IO.puts() +