背景:
有 n
个球,满足以下条件:
'a' balls are of colour GREEN
'b' balls are of colour BLUE
'c' balls are of colour RED
...
当然,
a + b + c + ... = n
。这些球可以排列的置换数量由以下公式给出:
perm = n! / (a! b! c! ..)
问题1: 如何“优雅地”计算
perm
,以避免整数溢出,同时确保在计算完成后,我要么有正确的perm
值,要么知道最终结果会溢出?基本上,我想避免使用类似GNU GMP的东西。
可选问题2: 这是一个真的很糟糕的想法吗?我应该继续使用GMP吗?