我正在尝试解决一个组合数学问题,这似乎很容易,但我遇到了一些麻烦。
如果我最多有 X 张桌子,并且 N 人坐在桌子上,每张桌子可以有 1 到 N 个座位,我只能坐在长方形桌子的一侧(所以人们坐的顺序很重要)。
我想编写一个代码,可以计算从 1 到 K 桌的所有座位分布。
例如,如果我有 12 个人和 1 张桌子,我有 479001600 种座位方式(这很容易计算,我使用了 12 的阶乘)。
但如果我有 12 个人和 3 张桌子,我有 4390848000 种座位方式。我尝试了不同的解决方案,但找不到正确的解决方案。
我尝试将 12 分为 3,然后使用结果的阶乘(它不起作用),我尝试使用 12!* 3(它也没有用)。
有人可以给我一个我可以使用的算法的提示吗?