数字和为45的六位数有多少个?
一开始的思路
x 1 + x 2 + x 3 + x 4 + x 5 + x 6 = 45 x_1 + x_2 + x_3 + x_4 +x_5 +x_6=45 x1+x2+x3+x4+x5+x6=45
1
≤
x
1
≤
9
1\le x_1 \le 9
1≤x1≤9
0
≤
x
i
≤
9
,
i
=
2
,
3
,
4
,
5
,
6
0\le x_i\le 9,i=2,3,4,5,6
0≤xi≤9,i=2,3,4,5,6
- 我觉得可以容斥原理
- 设满足
1
≤
x
1
1\le x_1
1≤x1
0
≤
x
i
,
i
=
2
,
3
,
4
,
5
,
6
0\le x_i,i=2,3,4,5,6
0≤xi,i=2,3,4,5,6
-
的解的个数为 A A A
-
显然 A = C 44 + 6 − 1 6 − 1 = C 49 5 = 1906884 A=C_{44+6-1}^{6-1}=C_{49}^5=1906884 A=C44+6−16−1=C495=1906884
- 设满足
x i ≤ 9 , i = 1 , 2 , 3 , 4 , 5 , 6 x_i\le 9,i=1,2,3,4,5,6 xi≤9,i=1,2,3,4,5,6
- 的解的个数为 B B B
- 则 B = C 9 + 6 − 1 6 − 1 = C 14 5 = 2002 B =C_{9+6-1}^{6-1}=C_{14}^5=2002 B=C9+6−16−1=C145=2002
-
全部的满足是 C 50 5 = 2118760 C_{50}^5=2118760 C505=2118760
-
答案是209874!
result =0
for i in range(900000):
number = i+100000
number = str(number)
number = list(number)
sum = 0
for j in number:
sum+=int(j)
if(sum==45):
result = result+1
print (result)
后来的思路
( 9 − x 1 ) + ( 9 − x 2 ) + ( 9 − x 3 ) + ( 9 − x 4 ) + ( 9 − x 5 ) + ( 9 − x 6 ) = 9 (9-x_1) + (9-x_2) + (9-x_3) + (9-x_4) +(9-x_5) +(9-x_6)=9 (9−x1)+(9−x2)+(9−x3)+(9−x4)+(9−x5)+(9−x6)=9
0
≤
y
1
≤
8
0\le y_1 \le 8
0≤y1≤8
0
≤
y
i
≤
9
,
i
=
2
,
3
,
4
,
5
,
6
0\le y_i\le 9,i=2,3,4,5,6
0≤yi≤9,i=2,3,4,5,6
-
y
1
=
0
y_1=0
y1=0时
- $$
第三个思路
x 1 + x 2 + x 3 + x 4 + x 5 + x 6 = 45 x_1 + x_2 + x_3 + x_4 +x_5 +x_6=45 x1+x2+x3+x4+x5+x6=45
1
≤
x
1
≤
9
1\le x_1 \le 9
1≤x1≤9
0
≤
x
i
≤
9
,
i
=
2
,
3
,
4
,
5
,
6
0\le x_i\le 9,i=2,3,4,5,6
0≤xi≤9,i=2,3,4,5,6
-
x 1 = 1 x_1=1 x1=1时
- x 2 + x 3 + x 4 + x 5 + x 6 = 44 x_2 + x_3 + x_4 +x_5 +x_6=44 x2+x3+x4+x5+x6=44
- 必须是4个9,1个8
- 共4个
-
x 1 = 2 x_1=2 x1=2时
- x 2 + x 3 + x 4 + x 5 + x 6 = 43 x_2 + x_3 + x_4 +x_5 +x_6=43 x2+x3+x4+x5+x6=43
- 至少3个9,
- 3个9,:1个7::4个