Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 数学问题:不同排列的数量_Math_Permutation - Fatal编程技术网

Math 数学问题:不同排列的数量

Math 数学问题:不同排列的数量,math,permutation,Math,Permutation,这更像是一个数学问题,而不是编程,但我认为这里的很多人都非常擅长数学!:) 我的问题是:给定一个9 x 9的网格(81个单元格),每个网格必须包含1到9个数字,正好9次,那么可以生成多少个不同的网格。数字的顺序并不重要,例如第一行可能包含9个1等。这与数独有关,我们知道有效数独网格的数量是6.67×10^21,因此,由于我的问题不像数独那样受到限制,每行必须有9个数字中的每一个,列和框,则答案应大于6.67×10^21 我的第一个想法是答案是81!然而,在进一步的思考中,这假设每个单元可能的81

这更像是一个数学问题,而不是编程,但我认为这里的很多人都非常擅长数学!:)

我的问题是:给定一个9 x 9的网格(81个单元格),每个网格必须包含1到9个数字,正好9次,那么可以生成多少个不同的网格。数字的顺序并不重要,例如第一行可能包含9个1等。这与数独有关,我们知道有效数独网格的数量是6.67×10^21,因此,由于我的问题不像数独那样受到限制,每行必须有9个数字中的每一个,列和框,则答案应大于6.67×10^21

我的第一个想法是答案是81!然而,在进一步的思考中,这假设每个单元可能的81个数字是不同的、不同的数字。它们不是,每个单元格有81个可能的数字,但只有9个可能的不同的数字

我的下一个想法是,第一行的每个单元格可以是1到9之间的任意数字。如果第一行碰巧都是相同的数字,比如说都是1,那么第二行中的每个单元格只能有8个可能性,2-9。如果这种情况一直持续到最后一行,那么不同排列的数量可以通过9^2*8^2*7^2来计算….*1^2. 但是,如果每行不包含相同数字的9,则这不起作用


我已经有很长一段时间没有研究过这些东西了,我想不出一个办法来解决它,我非常感谢任何人能提供的帮助。

想象一下,拿81张空白纸,在每张纸上写一个从1到9的数字(每个数字中有9张)。洗牌,开始在9x9网格上放置卡瓦

你可以创造81个!如果你认为每一张纸条都是独一无二的,那就有不同的图案

<>但是你想考虑所有1个是等价的。< /P> 对于任何特定配置,该配置将重复多少次 因为1是等价的?答案是9!,您可以将9张纸条上写有1张纸条的排列方式的数量

这样就把排列的总数减少到了81/9!. (你除以不可区分排列的数量。而不是9!不可区分排列,想象只有2个不可区分排列。你将计数除以2,对吗?规则是,你除以不可区分排列的数量。)

啊,但是你也希望2和3相等,等等。 根据同样的推理,这将把排列的数量减少到

81!/(9!)^9 

到,大约是5.8*10^70。

首先,让我们从81个数字开始,从1到81。其排列数为
81P81
,或
81。很简单

但是,我们有九个
1
s,它们可以安排在
9不可区分排列。与
2
3
等相同

所以我们得到的是电路板排列的总数除以所有数字的所有不可区分排列,或者
81!/(9!**9)


谢谢你的回答,它清楚地解释了答案,非常有意义。你的回答也很清楚,你解释了我欣赏的解,这叫做多项式,81除以9,9,9,9,9,9,9,9,见
>>> reduce(operator.mul, range(1,82))/(reduce(operator.mul, range(1, 10))**9)
53130688706387569792052442448845648519471103327391407016237760000000000L