結果
問題 | No.1611 Minimum Multiple with Double Divisors |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)