階乗の割り算の話

こんな問題がありました。
{\displaystyle\frac{a!}{b!*c!}(1<=a,b,c<=1000)}
なんか割り切れる問題みたいです。さらに結果はそれなり(long longで桁あふれしない)みたいです。

これをプログラム(C++)で計算するとa!の時点で桁あふれする予感がします。
またa!/b! a!/c!でも計算結果が桁あふれするかもしれません。
どうやら同時に計算しなきゃいけないみたいです。

結果から言うと素因数分解をすればいいですね。すべての変数は1000以下のためメモリも大丈夫そうです。
素因数p1で何度割ることができるかををa_p1 b_p1 c_p1で表すと答えの素因数は
{\displaystyle\ p1^{a_p1-b_p1-c_p1}}
となるのでa以下の素因数すべてで行えばいいのです。

最後に素因数をすべて掛け合わせることで結果が求められますね。