题目如下:六粒骰子随机扔下去,可能会有多少种不同的情况出现(情况说明:123456,654321,124356,452136...都算同一种,即同一组数字,不同顺序都算同一种)

题目分析:若是123456每个数字不重复出现,一共有多少组数字,我们知道,这是一个数学的排列组合问题,即计算6的阶乘,6! = 720,即123456不重复出现一共有720组数字...我们先实现用Python计算6的阶乘看一下。

代码如下:

数学编程:用Python巧解数学竞赛难题(1)_编写代码

运行代码,计算得到6!=720,因此123456每个数字不重复出现,一共有720组。如果上面这段代码你没看懂,换个思路试试阶乘另一种写法,针对123456每个数字不重复出现,我们可以这样写,代码更清晰易懂。

 

代码如下:

数学编程:用Python巧解数学竞赛难题(1)_python实现_02

这样来算6的阶乘,得出的结果也是6!= 720。

 

但是本文题目每个数字是可重复出现的,六粒骰子随机扔下去,每个骰子对应的数字是可以重复出现的。因此数字是可以重复的,但是同一组数字,不同顺序算同一种情况,123456,654321,124356,452136...都算同一种。理解了题目,我们就知道该如何去思考编写代码啦。

代码如下:

数学编程:用Python巧解数学竞赛难题(1)_人工智能_03

正确答案是:462种。

请公众号回复"六骰子"获取本文题目对应源代码~