Pythonのアルゴリズム
下記のプログラムは1以上N以下の整数のうち、十進法での各桁の和がA以上B以下であるもの総和を求める問題です。
入力の形
N A B
例.14 2 4 が入力された場合
45が出力される。
下記がコードになります。
def Sample3():
# 整数nの各桁の和を求める関数
def sum(n):
sum_1 = 0
while n > 0:
sum_1 += n % 10 # 10で割った余り
n //= 10
return sum_1
N, A, B = map(int, input().split())
result = 0
for i in range(1, N + 1):
if A <= sum(i) <= B: # A以上B以下
result += i
print(result)
Sample3()
以上になります。