結果
問題 |
No.847 Divisors of Power
|
ユーザー |
|
提出日時 | 2024-10-29 13:44:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 179 ms / 2,000 ms |
コード長 | 742 bytes |
コンパイル時間 | 501 ms |
コンパイル使用メモリ | 82,324 KB |
実行使用メモリ | 87,908 KB |
最終ジャッジ日時 | 2024-10-29 13:44:09 |
合計ジャッジ時間 | 3,632 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
N,K,M = map(int,input().split()) if N==1: print(1) else: C = {} x = N for i in range(2,N+1): if i*i>N:break if x%i==0: cnt = 0 while x%i==0: cnt += 1 x //= i C[i] = cnt if x>1: C[x] = 1 for p in C: C[p] *= K P = list(C.keys()) ans = set() val = 1 def dfs(i): global val p = P[i] for j in range(C[p]+1): val *= pow(p,j) if val <=M: ans.add(val) if i+1<len(P): dfs(i+1) val //=pow(p,j) else: val //=pow(p,j) break dfs(0) print(len(ans))