Extended Euclidean algorithm

ph
Admin (토론 | 기여)님의 2017년 8월 11일 (금) 15:32 판 (새 문서: [https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm wiki] python code is as follows, <pre> def exteuclid(m, n, s0=1, s1=0, t0=0, t1=1): # s0 := s_{i-1} # s1 := s_i...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

wiki

python code is as follows,

def exteuclid(m, n, s0=1, s1=0, t0=0, t1=1): 
    # s0 := s_{i-1}
    # s1 := s_i
    # t0 := t_{i-1}
    # t1 := t_i
    assert m>=n
    q = m/n
    r = m%n
    s = s0 - q*s1
    t = t0 - q*t1
    if r==0:
        return q, s1, t1
    else:
        return exteuclid(n, r, s1, s, t1, t)
#test
#print exteuclid(240, 46)
#(2, -9, 47)