結果

問題 No.1611 Minimum Multiple with Double Divisors
ユーザー tamato
提出日時 2021-07-21 21:45:06
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 670 bytes
コンパイル時間 235 ms
コンパイル使用メモリ 82,712 KB
実行使用メモリ 77,352 KB
最終ジャッジ日時 2024-07-17 17:16:27
合計ジャッジ時間 7,896 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 22 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

mod = 1000000007
eps = 10**-9


def main():
    import sys
    input = sys.stdin.readline

    P = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]

    for _ in range(int(input())):
        X = int(input())
        mi = 10**12
        D = [0] * 12
        for i, p in enumerate(P):
            XX = X
            while XX % p == 0:
                D[i] += 1
                XX //= p
            mi = min(mi, p ** (D[i] + 1))
        for i in range(12):
            for j in range(i+1, 12):
                if (D[i] == 1 and D[j] == 2) or (D[i] == 2 and D[j] == 1):
                    mi = min(mi, P[i] * P[j])
        print(X * mi)


if __name__ == '__main__':
    main()
0