小丽对数位中含有 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)