結果
| 問題 |
No.2829 GCD Divination
|
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2024-06-20 15:34:49 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 177 ms / 2,000 ms |
| コード長 | 530 bytes |
| コンパイル時間 | 89 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-06-20 23:01:56 |
| 合計ジャッジ時間 | 3,026 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 35 |
ソースコード
R=range
L=9**4
P=[]
C=[0]*L
for i in R(2,L):
if C[i]<1:
P+=[i];j=i*i
while j<L:C[j],j=1,j+i
E={}
def e(n):
if n in E:return E[n]
a=m=n
for p in P:
c=0
while n%p<1:n//=p;c+=1
if c:a=a//p*(p-1)
if n>1:a=a//n*(n-1)
E[m]=a
return a
F={1:0}
def f(n):
if n in F:return F[n]
D=[1];m=n
for p in P:
c=0
while n%p<1:n//=p;c+=1
r=len(D)
for i in R(c):D+=[d*p for d in D[-r:]]
r=len(D)
if n>1:D+=[d*n for d in D[-r:]];r*=2
F[m]=(m+sum(f(m/D[d])*e(D[d])for d in R(1,r)))/(m-1)
return F[m]
print(f(int(input())))