题目如下:六粒骰子随机扔下去,可能会有多少种不同的情况出现(情况说明:123456,654321,124356,452136...都算同一种,即同一组数字,不同顺序都算同一种)
题目分析:若是123456每个数字不重复出现,一共有多少组数字,我们知道,这是一个数学的排列组合问题,即计算6的阶乘,6! = 720,即123456不重复出现一共有720组数字...我们先实现用Python计算6的阶乘看一下。
代码如下:
运行代码,计算得到6!=720,因此123456每个数字不重复出现,一共有720组。如果上面这段代码你没看懂,换个思路试试阶乘另一种写法,针对123456每个数字不重复出现,我们可以这样写,代码更清晰易懂。
代码如下:
这样来算6的阶乘,得出的结果也是6!= 720。
但是本文题目每个数字是可重复出现的,六粒骰子随机扔下去,每个骰子对应的数字是可以重复出现的。因此数字是可以重复的,但是同一组数字,不同顺序算同一种情况,123456,654321,124356,452136...都算同一种。理解了题目,我们就知道该如何去思考编写代码啦。
代码如下:
正确答案是:462种。
请公众号回复"六骰子"获取本文题目对应源代码~