結果
問題 | No.811 約数の個数の最大化 |
ユーザー |
|
提出日時 | 2020-06-09 11:45:07 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 956 bytes |
コンパイル時間 | 317 ms |
コンパイル使用メモリ | 82,220 KB |
実行使用メモリ | 76,424 KB |
最終ジャッジ日時 | 2024-12-31 12:37:22 |
合計ジャッジ時間 | 1,811 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 WA * 4 |
ソースコード
def factors(n):f = []c = 0while n % 2 == 0:n //= 2c += 1if c > 0:f.append([2, c])p = 3while p * p <= n:if n % p == 0:c = 0while n % p == 0:n //= pc += 1if c > 0:f.append([p, c])p += 2if n != 1:f.append([n, 1])return fdef divisors(n):divs = []for d in range(1, int(n**0.5) + 1):if n % d == 0:divs.append(d)q = n // dif q != d:divs.append(q)return divsN, K = map(int, input().split())nf = factors(N)m = 1i = 0while K > 0:if nf[i][1] > 0:m *= nf[i][0]nf[i][1] -= 1K -= 1i = (i + 1) % len(nf)ans = 0max_divs = 0M = mwhile M < N:divs = len(divisors(M))if divs > max_divs:ans = Mmax_divs = divsM += mprint(ans)