解法1
- よく出現するものであるので関数を作っておく
n, a, b = map(int, input().split()) def calc_num_sum(number): sum = 0 while (number > 0): sum += number % 10 number //= 10 return sum ans = 0 for i in range(1, n+1): if a <= calc_num_sum(i) <= b: ans += i print(ans)
解法2
pythonの関数を使って解く(こちらのほうが遅い)
intをstrに変換
map()
、strip()
でintのlistに変換- listの値をsumする
n, a, b = map(int, input().split()) ans = 0 for i in range(1, n+1): sumNum = sum(list(map(int,str(i).strip()))) if a <= sumNum and sumNum <= b: ans += i print(ans)