You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:求1至99999中各位数字之和为15的数的个数

关于1到99999中各位数字和为15的数的计数问题

嘿,这个问题问得好!你的思路方向是对的,但漏了一个关键限制——每位数字最大只能是9,直接用无限制的隔板法会算进去那些某一位数字≥10的无效情况,所以你的结论不完全正确哦。

问题转化与初始思路分析

我们可以把1到99999的所有数都补成5位(比如数字1写成00001),这样问题就等价于求非负整数解:
$$x_1 + x_2 + x_3 + x_4 + x_5 = 15$$
其中每个变量满足 $0 \leq x_i \leq 9$(因为每位数字的取值范围是0-9)。

你一开始用的无限制隔板法计算的是所有没有约束的解数:
$$\binom{15+5-1}{5-1} = \binom{19}{4} = \binom{19}{15} = 3876$$
这个结果包含了像 $x_1=10, x_2=5, x_3=x_4=x_5=0$ 这种不符合数字规则的情况(因为某一位数字不能超过9),所以必须修正这个结果。

用容斥原理修正结果

我们需要排除掉那些存在至少一个变量 $x_i \geq 10$ 的无效解:

  • 第一步:计算单个变量≥10的解数
    假设 $x_1 \geq 10$,令 $y_1 = x_1 - 10$(此时 $y_1 \geq 0$),方程转化为:
    $$y_1 + x_2 + x_3 + x_4 + x_5 = 15 - 10 = 5$$
    这个方程的非负整数解数是 $\binom{5+5-1}{5-1} = \binom{9}{4} = 126$。
    总共有5个变量可能出现这种情况,所以这部分无效解的总数是 $5 \times 126 = 630$。

  • 第二步:判断是否存在多个变量≥10的情况
    如果有两个变量同时≥10,那么它们的和至少是 $10 + 10 = 20$,已经超过了总和15,所以这种情况没有非负整数解。三个及以上变量≥10的情况更不可能,因为总和会更大。

最终结果

符合条件的解数就是无限制解数减去无效解数:
$$3876 - 630 = 3246$$

由于我们补的00000各位数字和为0,不会被计入和为15的情况,所以1到99999中各位数字之和等于15的数共有3246个。

内容的提问来源于stack exchange,提问作者Lola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:24:03