国际象棋全棋子摆放组合数计算结果确认及阶乘概念咨询
嗨,很高兴能帮你确认这个计算结果,同时给你掰扯清楚阶乘的概念——刚接触这类问题确实容易懵,慢慢来就好~
首先先给你吃个定心丸:你的计算思路和最终结果64!/32!完全正确!
我们先把你的原始思路引用出来,方便对照:
A chessboard has 64 squares
16 pawns
4 rooks , bishops and knights each
2 queen and king each
Total pieces are 32. Total squares are 64.
(No pieces are captured)Let's now focus on one piece
One piece can fit on 64 squares
The other can fit on the remaining 63 squares
... The last (32th) piece would be on 32 squaresSo the answer would be 64!/32!
Please confirm
PS : I am a newbie into these things so I don't really understand factorials really well...
The positions can BE ILLEGAL .
关于计算结果的确认
你核心的思路是对的:因为不考虑棋局是否合法,我们只需要把32个有区别的棋子(比如黑兵和白兵不一样,两个车也是不同的个体)依次放到棋盘上:
- 第一个棋子有64个格子可选
- 放完第一个后,第二个棋子就只剩63个空格子可选
- ……
- 到第32个棋子时,剩下的空格子数是
64 - 31 = 33(这里你可能笔误写成了32,但最终的公式64!/32!是正确的)
把这些可选数相乘,就是64×63×62×…×33,而这个乘积正好等于64!/32!——这就涉及到阶乘的概念啦。
给新手的阶乘简单科普
阶乘(用n!表示)其实就是个数学简写,意思是从1开始乘到n的所有整数的乘积,举几个简单例子:
3! = 3×2×1 = 65! = 5×4×3×2×1 = 12010! = 10×9×…×1 = 3628800
那64!就是从64一直乘到1的超大数,32!是从32乘到1的数。当我们用64!除以32!时,就相当于把64!里从1到32的部分全部约掉了,剩下的正好是64×63×…×33,也就是我们需要的所有摆放组合数~
这样解释下来,是不是对阶乘和这个计算结果都更清楚啦?
备注:内容来源于stack exchange,提问作者Krishang Rana




