Free3
225 天前
opus
我们可以通过以下步骤来解决这个问题:
1) 首先,我们来考虑在 1 到 9 之间的数字。显然只有数字 1 本身含有数字 1 。所以只有 1 个数。
2) 然后,我们看 10 到 99 之间的数。我们注意到,任何以 1 开头的两位数(10 到 19)都含有数字 1 。还有,任何不以 1 开头但个位是 1 的数(如 21,31,41,51,61,71,81,91)也含有数字 1 。所以在这个范围内,共有 19 个含有数字 1 的数。
3) 接下来是 100 到 999 。在这个范围内,任何以 1 开头的三位数(100 到 199)都含有数字 1 。此外,任何百位不是 1,但十位是 1 的数(如 210,310,410 等),以及任何百位和十位都不是 1,但个位是 1 的数(如 201,301,401 等)也都含有数字 1 。所以在这个范围内,总共有 271 个含有数字 1 的数。
4) 最后,从 1000 到 9999 。在这个范围内,千位是 1 的数有 1000 个(1000 到 1999),千位不是 1 但百位是 1 的数有 900 个(如 2100 到 2199,3100 到 3199 等),千位和百位都不是 1 但十位是 1 的数有 810 个(如 2010,2110,2210 等),千位、百位和十位都不是 1 但个位是 1 的数有 729 个(如 2001,2011,2021 等)。所以在这个范围内,总共有 3439 个含有数字 1 的数。
把以上各个范围内含有数字 1 的数的个数加起来,就得到了答案:
1 + 19 + 271 + 3439 = 3730
所以,在小于 10000 的正整数中,含有数字 1 的数共有 3730 个。