ABC083B - Some Sums
問題
https://atcoder.jp/contests/abs/tasks/abc083_b
回答2
defmodule Main do
def main do
:stdio
|> IO.read(:all)
|> solve()
|> IO.puts()
end
defp split_words(words) do
String.split(words, " ")
end
def solve(input) do
[n, a, b] =
input
|> String.trim()
|> split_words()
|> Enum.map(&String.to_integer/1)
1..n
|> Enum.map(fn num ->
sum =
num
|> Integer.digits()
|> Enum.sum()
if sum >= a && sum <= b do
num
else
0
end
end)
|> Enum.sum()
end
end
"""
20 2 5
"""
|> Main.solve()
|> then(&(&1 == 84))
"""
10 1 2
"""
|> Main.solve()
|> then(&(&1 == 13))
"""
100 4 16
"""
|> Main.solve()
|> then(&(&1 == 4554))