結果
| 問題 | No.1611 Minimum Multiple with Double Divisors |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-21 22:10:13 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 804 bytes |
| 記録 | |
| コンパイル時間 | 269 ms |
| コンパイル使用メモリ | 81,916 KB |
| 実行使用メモリ | 77,824 KB |
| 最終ジャッジ日時 | 2024-07-17 18:48:10 |
| 合計ジャッジ時間 | 6,981 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 9 WA * 28 |
ソースコード
import sys
input = lambda :sys.stdin.readline()[:-1]
ni = lambda :int(input())
na = lambda :list(map(int,input().split()))
sys.setrecursionlimit(10**7)
yes = lambda :print("yes");Yes = lambda :print("Yes")
no = lambda :print("no");No = lambda :print("No")
#######################################################################
pl = [2,3,5,7,11,13,17,19,23,29,31,37,41]
dl = dict()
for i, x in enumerate(pl):
dl[x] = i
z = len(pl)
T = ni()
def f(x,y):
r = 0
while x>0:
if x%y:
break
x//=y
r+=1
return r
from collections import defaultdict
for i in range(T):
x = ni()
ans = 10**15
for j in pl:
ff = f(x,j)
if ff==0:
ans = min(ans,j)
else:
ans = min(ans,pow(j,ff+1))
print(x*ans)