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