小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 � n 中,所有这样的数的和是多少?
时间: 2023-03-19 12:23:23 浏览: 118
我们可以将该问题分解为每个数位上都有 2、0、1、9 的数字个数的计算。
对于个位数,由于我们只关注数位中含有 2、0、1、9 的数字,因此个位数上可能出现的数字只有 2 和 9。故在 1 到 n 中,个位数上出现 2 和 9 的次数相等,均为 $\lfloor \frac{n}{10} \rfloor$。
对于十位数,十位数上可能出现的数字是 0、1、2、9 四个数字,其中十位数为 0 的数字只有 10,十位数为 1 的数字有 10 到 19 这 10 个数,十位数为 2 的数字有 20 到 29 这 10 个数,十位数为 9 的数字有 90 到 99 这 10 个数,故在 1 到 n 中,十位数上可能出现 2、0、1、9 四个数字的次数分别为 $\lfloor \frac{n}{100} \rfloor$、$\lfloor \frac{n}{10} \rfloor - \lfloor \frac{n}{100} \rfloor$、$\lfloor \frac{n}{10} \rfloor - \lfloor \frac{n}{100} \rfloor$、$\lfloor \frac{n}{100} \rfloor$。
对于百位数和千位数,同理可得在 1 到 n 中,它们分别出现 2、0、1、9 四个数字的次数为 $\lfloor \frac{n}{1000} \rfloor$、$\lfloor \frac{n}{100} \rfloor - \lfloor \frac{n}{1000} \rfloor$、$\lfloor \frac{n}{100} \rfloor - \lfloor \frac{n}{1000} \rfloor$、$\lfloor \frac{n}{1000} \rfloor$。
因此,在 1 到 n 中,所有数位上都含有 2、0、1、9 的数字的数的和为:
$$
S = 2\times(\lfloor \frac{n}{10} \rfloor + \lfloor \frac{n}{100} \rfloor + \lfloor \frac{n}{1000} \rfloor + \cdots) + 10\times(\lfloor \frac{n}{100} \rfloor - \lfloor \frac{n}{1000} \rfloor + \lfloor \frac{n}{10} \rfloor - 2\lfloor \frac{n}{100} \rfloor + \cdots) + 100\times(\lfloor \frac{n}{1000} \rfloor + \lfloor \frac{n}{100} \rfloor - 2\lfloor \frac{n}{1000} \rfloor - 2\lfloor \frac{n}{10} \rfloor + \cdots) + 1000\times(\lfloor \frac{n}{1000} \rfloor + \cdots)
$$
注意到当 $n<10$ 时,所有数位上都含有 2、0、1、9 的数字的数不存在,因此在计算 S 的时