結果
| 問題 |
No.3115 One Power One Kill
|
| コンテスト | |
| ユーザー |
👑 SPD_9X2
|
| 提出日時 | 2025-04-19 02:48:06 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,236 bytes |
| コンパイル時間 | 518 ms |
| コンパイル使用メモリ | 82,324 KB |
| 実行使用メモリ | 84,320 KB |
| 平均クエリ数 | 1.00 |
| 最終ジャッジ日時 | 2025-04-19 02:48:12 |
| 合計ジャッジ時間 | 5,738 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | RE * 20 |
ソースコード
"""
https://yukicoder.me/problems/no/3115
まぁギャグだとは思うが
Xが大きい素数の時、3では1が返ってくるのでそれを前提に考えよう
まぁフェルマーの小定理
X^A mod B
Bを素数にしておいて、A = B-1 にすると X' が1になってくれる場合が多い
XがBの倍数の時
(xB)^(B-1) mod B
は0になる??
gcd(X,Y) だけで、Xの倍数かチェックしないといけない
"""
"""
def Sieve(n): #n以下の素数全列挙(O(nloglogn)) retは素数が入ってる。divlisはその数字の素因数が一つ入ってる
ret = []
divlis = [-1] * (n+1) #何で割ったかのリスト(初期値は-1)
flag = [True] * (n+1)
flag[0] = False
flag[1] = False
ind = 2
while ind <= n:
if flag[ind]:
ret.append(ind)
ind2 = ind ** 2
while ind2 <= n:
flag[ind2] = False
divlis[ind2] = ind
ind2 += ind
ind += 1
return ret,divlis
plis,_ = Sieve(10**5)
for B in plis:
A = B-1
if pow(A,B,10**9+7) % B == 0:
print (B)
"""
print (88,89,flush=True)
K = int(input())
if K % 89 == 0:
print (0)
else:
print (1)
SPD_9X2