結果
| 問題 |
No.3030 Kruskal-Katona
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-15 21:37:34 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 813 bytes |
| コンパイル時間 | 567 ms |
| コンパイル使用メモリ | 82,144 KB |
| 実行使用メモリ | 67,004 KB |
| 最終ジャッジ日時 | 2025-04-15 21:39:45 |
| 合計ジャッジ時間 | 2,964 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 3 |
| other | RE * 27 |
ソースコード
def is_prime(x):
if x <= 1:
return False
if x <= 3:
return True
if x % 2 == 0:
return x == 2
# Write x-1 as d * 2^s
d = x - 1
s = 0
while d % 2 == 0:
d //= 2
s += 1
# Test for these bases
bases = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37]
for a in bases:
if a >= x:
continue
mod = pow(a, d, x)
if mod == 1 or mod == x - 1:
continue
composite = True
for _ in range(s - 1):
mod = (mod * mod) % x
if mod == x - 1:
composite = False
break
if composite:
return False
return True
n = int(input())
xs = [int(input()) for _ in range(n)]
for x in xs:
print(f"{x} {1 if is_prime(x) else 0}")
lam6er