結果
問題 | No.847 Divisors of Power |
ユーザー |
![]() |
提出日時 | 2019-07-05 22:53:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 85 ms / 2,000 ms |
コード長 | 852 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 82,100 KB |
実行使用メモリ | 86,264 KB |
最終ジャッジ日時 | 2024-10-06 22:46:52 |
合計ジャッジ時間 | 2,782 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 26 |
ソースコード
prime = [] numberlist = [] for i in range(2, 31623): numberlist.append(i) while numberlist[0] <= 177: now = numberlist.pop(0) prime.append(now) newnumberlist = [] for i in range(0, len(numberlist)): if numberlist[i]%now != 0: newnumberlist.append(numberlist[i]) numberlist = newnumberlist prime = prime + numberlist N, K, M = map(int, input().split()) factorized = [] for i in range(0, len(prime)): if N % prime[i] == 0: factorized.append([prime[i], 1]) N //= prime[i] while N % prime[i] == 0: factorized[-1][1] += 1 N //= prime[i] if N != 1: factorized.append([N, 1]) ans = [1] for i in range(0, len(factorized)): X = len(ans) for j in range(0, len(ans)): Y = ans[j] cnt = 1 while Y*factorized[i][0] <= M and cnt <= K*factorized[i][1]: Y *= factorized[i][0] ans.append(Y) cnt += 1 ans.sort() print(len(ans))