結果
| 問題 | No.1611 Minimum Multiple with Double Divisors |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-26 16:42:44 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 607 bytes |
| 記録 | |
| コンパイル時間 | 654 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 77,184 KB |
| 最終ジャッジ日時 | 2024-12-23 07:58:57 |
| 合計ジャッジ時間 | 11,199 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 9 WA * 28 |
ソースコード
N = 1000
isprime = [True] * N
isprime[0] = isprime[1] = False
prime = []
for i in range(2, int(N ** 0.5 + 1)):
if not isprime[i]:
continue
prime.append(i)
for j in range(i * i, N, i):
isprime[j] = False
def solve():
x = int(input())
min_ = 1 << 60
for p in prime:
if x % p != 0:
print(min(p, min_) * x)
return
else:
cnt = 0
X = x
while X % p == 0:
X //= p
cnt += 1
min_ = min(min_, p ** (cnt + 1))
for _ in range(int(input())):
solve()