結果
問題 | No.1809 Divide NCK |
ユーザー |
![]() |
提出日時 | 2022-09-06 17:05:24 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 675 bytes |
コンパイル時間 | 169 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 57,856 KB |
最終ジャッジ日時 | 2024-11-21 18:07:54 |
合計ジャッジ時間 | 3,090 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 WA * 5 |
ソースコード
N, K, M = map(int, input().split()) def factorization(n): res = [] for i in range(2, n): if i*i>n: break if n%i==0: cnt = 0 while n%i==0: n//=i cnt+=1 res.append([i, cnt]) if n>1: res.append([n, 1]) return res def prime_num(N, p): res = 0 while N>p: N//=p res+=N return res res = factorization(M) ans = float('inf') for p, cnt in res: # ans = min(ans, prime_num(N, pow(p, cnt))-prime_num(N-K, pow(p, cnt))-prime_num(K, pow(p, cnt))) ans = min(ans, (prime_num(N, p)-prime_num(N-K, p)-prime_num(K, p))//cnt) print(ans)