結果
問題 |
No.577 Prime Powerful Numbers
|
ユーザー |
|
提出日時 | 2025-02-07 02:38:09 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,290 bytes |
コンパイル時間 | 414 ms |
コンパイル使用メモリ | 82,776 KB |
実行使用メモリ | 139,656 KB |
最終ジャッジ日時 | 2025-02-07 02:38:34 |
合計ジャッジ時間 | 23,001 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 2 WA * 1 TLE * 7 |
ソースコード
import random SAMPLES = 10 def is_prime(n): if n == 1: return False s, t = 0, n - 1 while t % 2 == 0: s += 1 t //= 2 for _ in range(SAMPLES): a = random.randint(1, n - 1) x = pow(a, t, n) if x == 1 or x == n - 1: continue for _ in range(s - 1): x = pow(x, 2, n) if x == n - 1: break else: return False return True def decomposite(n): p = 1 check = 2 while check <= n: check *= 2 p += 1 for i in range(p, 0, -1): lower, upper = 1, n + 1 while upper - lower > 1: mid = (lower + upper) // 2 if mid ** i == n: return mid elif mid ** i < n: lower = mid else: upper = mid if lower ** i == n: return lower Q = int(input()) for _ in range(Q): n = int(input()) if n % 2 == 0: print('Yes') else: a = 2 while a < n: # print(n - a, decomposite(n - a), is_prime(decomposite(n - a))) if is_prime(decomposite(n - a)): print('Yes') break a *= 2 else: print('No')