結果

問題 No.1611 Minimum Multiple with Double Divisors
ユーザー KudeKude
提出日時 2021-07-21 21:34:31
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 726 bytes
コンパイル時間 270 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 78,080 KB
最終ジャッジ日時 2024-07-17 16:35:25
合計ジャッジ時間 11,326 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 9 WA * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

Primes_MAX = 10 ** 4
Primes = []
Sieve = [0] * Primes_MAX
Sieve[0] = Sieve[1] = -1
for p in range(2, Primes_MAX):
    if not Sieve[p]:
        Primes.append(p)
        Sieve[p] = p
        for q in range(p * p, Primes_MAX, p):
            if not Sieve[q]:
                Sieve[q] = p

for _ in range(int(input())):
    x = int(input())
    for i in range(2, Primes_MAX):
        p = Sieve[i]
        cnt = 0
        tmp = i
        while tmp % p == 0:
            tmp //= p
            cnt += 1
        if tmp != 1:
            continue
        cx = 0
        tmp = x
        while tmp % p == 0:
            tmp //= p
            cx += 1
        if 2 * (1 + cx) == (1 + cx + cnt):
            break
    y = x * i
    print(y)
0