288 : 巨大階乗

任意の素数ppに対しN(p,q)=n=0qTn×pnN(p,q) = \sum_{n=0}^q T_n \times p^nとする。 TnT_nは以下の乱数生成器で生成する:

S0=290797S_0 = 290797 Sn+1=Sn2mod50515093S_{n+1} = S_n^2 \mod 50515093 Tn=SnmodpT_n = S_n \mod p

Nfac(p,q)\textrm{Nfac}(p,q)N(p,q)N(p,q)の階乗とする。 NF(p,q)\textrm{NF}(p,q)Nfac(p,q)\textrm{Nfac}(p,q)内の因数 p の個数とする。

NF(3,10000)mod320=624955285\textrm{NF}(3,10000) \mod 3^{20}=624955285であることがわかる。

NF(61,107)mod6110\textrm{NF}(61,10^7) \mod 61^{10}を求めよ。

最終更新