如何解決(a!/(b! * c!)) % mod
。這裏的a!
是因子a
。階乘和分的模數
正如(a + b) % mod = (a % mod + b % mod) % mod
我知道計算(a * b) % mod
。
但是如何取這種函數的模數呢?
已更新:最好的方法是什麼(a/(b * c)) % mod
。 這裏mod
是素數。
如何解決(a!/(b! * c!)) % mod
。這裏的a!
是因子a
。階乘和分的模數
正如(a + b) % mod = (a % mod + b % mod) % mod
我知道計算(a * b) % mod
。
但是如何取這種函數的模數呢?
已更新:最好的方法是什麼(a/(b * c)) % mod
。 這裏mod
是素數。
注意(a!/(b! * c!)) % M
等於((a! % M)/((b! % M) * (c! % M))) % M
所以實現x! % M
:
def modfac(x, M):
if x == 0:
return 1
else:
return (modfac(x-1, M)*x)%M
這可能進行迭代,但它只是一個例子。
,然後使用它:
(modfac(a,M)/(modfac(b,M) * modfac(c,M))) % M
對於計算n! mod M很快,看到[這個線程](http://stackoverflow.com/questions/9727962/fast-way-to-calculate-n-mod-m-where-m-is-prime) –
@DanD WH如果denomnator (a /(b * c))%mod我們的問題是現在減少到(a /(b * c))%mod – user3306991
請澄清。你的問題有點混亂。 – KRUKUSA
@KRUKUSA你不明白? – user3306991
mod是什麼?模數是否爲素數? –