各位数字不同且能被3整除的7位数个数的解法验证及疑问
各位数字不同且能被3整除的7位数个数的解法验证及疑问
我最近在解决HMMT 2000年2月Guts部分的第23题:各位数字不同且能被3整除的7位数有多少个? 自己推导了一种解法,但和官方答案对不上,想请大家帮忙看看问题出在哪。
我的解题思路
核心依据是:一个数能被3整除当且仅当它的各位数字之和能被3整除。所以我先枚举了所有「去掉3个数字后,剩余7个数字之和能被3整除」的数字组合,分两类统计:
类别1:去掉的数字包含0的组合
这类组合共有12种:
- 012、015、018、024、027、036、039、045、048、057、069、078
因为去掉的数字里已经包含0,所以剩余的7个数字里没有0,所有排列都是合法的7位数。对应的总数为:7! × 12 = 5040 × 12 = 60480
类别2:去掉的数字不包含0的组合
我统计了所有这类符合条件的组合,总数是30种:
- 10种:123、126、129、135、138、147、156、159、168、189
- 7种:234、237、246、249、258、267、279
- 5种:345、348、357、369、378
- 4种:456、459、468、489
- 2种:567、579
- 1种:678
- 1种:789
这类组合剩余的7个数字里包含0,需要排除以0开头的无效情况。每类组合的合法7位数个数为总排列数减去以0开头的排列数:7! - 6! = 5040 - 720 = 4320
30类的总数为:4320 × 30 = 129600
最终计算结果
把两类的数量相加,得到的总数是:60480 + 129600 = 190080
我的疑问
我默认7位数不能以0开头(毕竟常规意义上的数字不会以0开头),但官方答案给出的是224640。我尝试过假设允许0开头的情况,也算不出这个数值。想请教大家,是我的解法哪里有疏漏,还是官方答案可能存在错误?
备注:内容来源于stack exchange,提问作者RobStam




