結果
問題 |
No.575 n! / m / m / m...
|
ユーザー |
![]() |
提出日時 | 2025-03-26 04:32:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 763 bytes |
コンパイル時間 | 286 ms |
コンパイル使用メモリ | 12,160 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2025-03-26 04:32:35 |
合計ジャッジ時間 | 8,645 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 8 WA * 15 |
ソースコード
n,m=map(int,input().split()) F=[] x=m for i in range(2,10**6): if x%i==0: sc=0 while x%i==0: x//=i sc+=1 F.append((i,sc)) if x!=1: F.append((x,1)) A=[] for f,sc in F: s=0 now=n while now!=0: now//=f s+=now A.append(s//sc) a=min(A) if n<=100: ANS=1 for i in range(1,n+1): ANS*=i ANS//=(m**a) #print(ANS) S=str(ANS) S=S[0]+"."+S[1:] print(S,end="") print("e",end="") print(len(S)-2) else: from math import pi,e,sqrt,log10 ANS=log10(2*pi*n)/2+n*log10(n/e)+log10(1+1/(12*n)) - a* log10(m) print(ANS) u=int(ANS) ANS-=u S=10**ANS print(S,end="") print("e",end="") print(u)