結果

問題 No.1611 Minimum Multiple with Double Divisors
ユーザー 👑 SPD_9X2
提出日時 2021-07-21 21:43:02
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,128 bytes
コンパイル時間 334 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 97,280 KB
最終ジャッジ日時 2024-07-17 17:03:25
合計ジャッジ時間 8,584 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 9 WA * 28
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

"""
6 = 2 * 3
24 = 2*2*2*6
2*2
2->4
"""
from sys import stdin
import sys
from collections import deque
def Sieve(n): #n(O(nloglogn)) retdivlis
ret = []
divlis = [-1] * (n+1) #(-1)
flag = [True] * (n+1)
flag[0] = False
flag[1] = False
ind = 2
while ind <= n:
if flag[ind]:
ret.append(ind)
ind2 = ind ** 2
while ind2 <= n:
flag[ind2] = False
divlis[ind2] = ind
ind2 += ind
ind += 1
return ret,divlis
plis,tmp = Sieve(1000000)
tt = int(stdin.readline())
for loop in range(tt):
X = int(stdin.readline())
ans = float("inf")
for p in plis:
if ans < X * p:
break
divnum = 0
TX = X
while TX % p == 0:
divnum += 1
TX //= p
mlp = divnum + 1
#print (p,mlp)
ans = min(ans , X * (p**mlp))
#print (p,X * (p**mlp))
print (ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0