結果

問題 No.414 衝動
ユーザー nohakai3
提出日時 2022-11-03 10:48:11
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 66 ms / 1,000 ms
コード長 1,130 bytes
コンパイル時間 184 ms
コンパイル使用メモリ 82,780 KB
実行使用メモリ 60,572 KB
最終ジャッジ日時 2024-07-17 21:10:08
合計ジャッジ時間 1,750 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

import random
def is_prime3(q,k=50):
q = abs(q)
#
if q == 2: return True
if q < 2 or q&1 == 0: return False
#n-1=2^s*dad)d
d = (q-1)>>1
while d&1 == 0:
d >>= 1
#k
for i in range(k):
a = random.randint(1,q-1)
t = d
y = pow(a,t,q)
#[0,s-1]
while t != q-1 and y != 1 and y != q-1:
y = pow(y,2,q)
t <<= 1
if y != q-1 and t&1 == 0:
return False
return True
def factorization(n):
arr = []
temp = n
for i in range(2, int(-(-n**0.5//1))+1):
if temp%i==0:
cnt=0
while temp%i==0:
cnt+=1
temp //= i
arr.append([i, cnt])
if temp!=1:
arr.append([temp, 1])
if arr==[]:
arr.append([n, 1])
return arr
n=int(input())
if is_prime3(n)==True:
print(1,n)
else:
print(factorization(n)[0][0],n//factorization(n)[0][0])
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0