擅长:python、mysql、java
<p>首先,从18件事物中选择6件事物的所有组合。这是你的第一个骰子。有18564种可能性</p>
<p>然后,从剩下的12件(924件)中选择6件的所有组合,类似地。这将给你第二个骰子,给你第一个</p>
<p>最后,第三个骰子就是所有剩余的数字。这是18564x924x1=17153136</p>
<p>但事实上,等等。我们也不在乎三个骰子的顺序。所以我们可以假设“1”在第一个骰子上。然后不是第一个模具上的最小数字是第二个模具上的。这就是6188x462x1=2858856的可能性</p>
<p>下面是一些python代码。它不像你自己做的那样快,但它应该运行良好</p>
<p>如果您在真正的可传递骰子上运行此操作,请尝试删除“唯一”约束!我很好奇是否有有趣的重复骰子</p>
<pre><code>import itertools
def iter_dice():
nums = list(range(1,19))
for first_die in itertools.combinations(nums[1:], 5):
first_die = (1,) + first_die
remaining = sorted(set(nums) - set(first_die))
for second_die in itertools.combinations(remaining[1:], 5):
second_die = (remaining[0],) + second_die
third_die = sorted(set(remaining) - set(second_die))
yield first_die, second_die, third_die
print(len(list(iter_dice())))
print(next(iter_dice()))
</code></pre>