特定数之和
小丽对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的和是多少?
输入格式:
输入一行包含一个整数 n。
输出格式:
输出一行,包含一个整数,表示满足条件的数的和。
输入样例:
40
输出样例:
574
n = int(input())
ans = 0
for i in range(1, n+1):
t = i
ok = False
while t > 0:
g = t % 10
if g == 2 or g == 0 or g == 1 or g == 9:
ok = True
t = t // 10
if ok:
ans += i
print(ans)
诚者,君子之所守也。

浙公网安备 33010602011771号