我想解决组合问题,它似乎很容易,但我有一些麻烦。算法combinatorics
如果我最多有X个桌子和N个人坐在桌子上,每张桌子可以有1到N个座位,我只能坐在长方形桌子的一边坐下来)。
我想做一个代码,可以计算从1到K表的所有座位位置的分布。例如,如果我有12个人和1张桌子,我有479001600个座位人员的方法(这很容易计算,我使用了12的阶乘)。
但是,如果我有12人和3桌我有4390848000座位的人的方式。我尝试过不同的解决方案,但我无法找到正确的解决方案。
我试图将3分为12,然后使用结果的阶乘(它没有工作),我试着用12! * 3(它也没有工作)。
有人能给我一个我可以使用的算法的提示吗?
如果你不知道如何计算,你怎么知道答案“4390848000”是正确的? – 2010-06-03 09:52:14
因为我有2个案例测试。 – Peiska 2010-06-03 09:59:21