Задний план:
Даны 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?