<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=%E6%93%B4%E5%85%85%E6%AD%90%E5%B9%BE%E9%87%8C%E8%91%97%E6%84%9B%E6%BC%94%E7%AE%97%E6%B3%95</id>
	<title>擴充歐幾里著愛演算法 - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=%E6%93%B4%E5%85%85%E6%AD%90%E5%B9%BE%E9%87%8C%E8%91%97%E6%84%9B%E6%BC%94%E7%AE%97%E6%B3%95"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=%E6%93%B4%E5%85%85%E6%AD%90%E5%B9%BE%E9%87%8C%E8%91%97%E6%84%9B%E6%BC%94%E7%AE%97%E6%B3%95&amp;action=history"/>
	<updated>2026-05-20T04:29:44Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=%E6%93%B4%E5%85%85%E6%AD%90%E5%B9%BE%E9%87%8C%E8%91%97%E6%84%9B%E6%BC%94%E7%AE%97%E6%B3%95&amp;diff=418306&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=%E6%93%B4%E5%85%85%E6%AD%90%E5%B9%BE%E9%87%8C%E8%91%97%E6%84%9B%E6%BC%94%E7%AE%97%E6%B3%95&amp;diff=418306&amp;oldid=prev"/>
		<updated>2025-08-22T13:10:46Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;擴展歐幾里著算法&amp;#039;&amp;#039;&amp;#039;（英語：Extended Euclidean algorithm）是歐幾里著算法（閣叫軋轉相除法）的擴展。已知整數 a、b，擴展歐幾里著算法會當求甲 a、b 的上大公因數的同時，揣甲整數 x、y（其中一个可能是負數）， 使𪜶滿足貝祖等式 $ ax + by=\ gcd ( a , b ) $。若是 a 是負數，會使共問題轉化做 $ \ left | a \ right | (-x ) + by=\ gcd ( | a | , b ) $（$ \ left | a \ right | $ 為 a 的絕對值）， 然後令 $ x&amp;#039;=(-x ) $。&lt;br /&gt;
&lt;br /&gt;
佇歐幾里著算法內底，阮干焦利用每一步紮餘除法所得的餘數。擴展歐幾里著算法猶利用紮餘除法所得的生理，佇咧軋轉相除的同時嘛會用得著貝祖等式的中的 x、y 兩个係數。以擴展歐幾里著算法求得的係數是滿足清氣等式的上簡單數。&lt;br /&gt;
&lt;br /&gt;
另外咧，擴展歐幾里著算法是一種自驗證算法，上尾一步得著的 $ s _ { i + 一 } $ 和 $ t _ { i + 一 } $（$ s _ { i + 一 } $ 和 $ t _ { i + 一 } $ 的含義見下文）乘以 $ \ gcd ( a , b ) $ 後恰為 $ a $ 和 $ b $，會當提來驗證計算結果有正確無。&lt;br /&gt;
&lt;br /&gt;
擴展歐幾里著算法會當用來計算模反元素 ( 嘛叫模逆元 )，求出模反元素是 RSA 加密算法中獲得所需公鎖、私鎖的著愛步驟。&lt;br /&gt;
&lt;br /&gt;
==算法佮舉例==&lt;br /&gt;
&lt;br /&gt;
佇標準的歐幾里著算法內底，阮記要求上大公因數的兩個數為 $ a , b $，第 $ i $ 用步輦除法得著的商為 $ q _ { i } $，餘數為 $ r _ { i + 一 } $，則歐幾里著算法會當寫做是落形式：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: $ { \ begin { aligned } r _ { 零 } &amp;amp;=a \ \ r _ { 一 } &amp;amp;=b \ \ &amp;amp; \ , \ , \ , \ vdots \ \ r _ { i + 一 } &amp;amp;=r _ { i 影一 }-q _ { i } r _ { i } \ quad { \ text { 而且 } } \ quad 零 \ leq r _ { i + 一 } &amp;lt; | r _ { i } | \ \ &amp;amp; \ , \ , \ , \ vdots \ end { aligned } } $&lt;br /&gt;
&lt;br /&gt;
某乜步得著的 $ r _ { i + 一 }=零 $ 時，計算結束。頂一步得著的 $ r _ { i } $ 即為 $ a , b $ 的上大公因數。&lt;br /&gt;
&lt;br /&gt;
擴展歐幾里著算法佇咧 $ q _ { i } $，$ r _ { i } $ 的基礎上增加兩組序列，記作 $ s _ { i } $ 和 $ t _ { i } $，並令 $ s _ { 零 }=一 $，$ s _ { 一 }=零 $，$ t _ { 零 }=零 $，$ t _ { 一 }=一 $，佇歐幾里著算法每步計算 $ r _ { i + 一 }=r _ { i 影一 }-q _ { i } r _ { i } $ 以外額外計算 $ s _ { i + 一 }=s _ { i 影一 }-q _ { i } s _ { i } $ 和 $ t _ { i + 一 }=t _ { i 影一 }-q _ { i } t _ { i } $，亦即：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: $ { \ begin { aligned } r _ { 零 } &amp;amp;=a &amp;amp; r _ { 一 } &amp;amp;=b \ \ s _ { 零 } &amp;amp;=一 &amp;amp; s _ { 一 } &amp;amp;=零 \ \ t _ { 零 } &amp;amp;=零 &amp;amp; t _ { 一 } &amp;amp;=一 \ \ &amp;amp; \ , \ , \ , \ vdots &amp;amp; &amp;amp; \ , \ , \ , \ vdots \ \ r _ { i + 一 } &amp;amp;=r _ { i 影一 }-q _ { i } r _ { i } &amp;amp; { \ text { 而且 } } 零 &amp;amp; \ leq r _ { i + 一 } &amp;lt; | r _ { i } | \ \ s _ { i + 一 } &amp;amp;=s _ { i 影一 }-q _ { i } s _ { i } \ \ t _ { i + 一 } &amp;amp;=t _ { i 影一 }-q _ { i } t _ { i } \ \ &amp;amp; \ , \ , \ , \ vdots \ end { aligned } } $&lt;br /&gt;
&lt;br /&gt;
算法結束條件佮歐幾里著算法一致，嘛是啦 $ r _ { i + 一 }=零 $，現此時所得的 $ s _ { i } $ 和 $ t _ { i } $ 就滿足等式 $ \ gcd ( a , b )=r _ { i }=as _ { i } + bt _ { i } $。&lt;br /&gt;
&lt;br /&gt;
落去共表現 $ a=兩百四十 $，$ b=四十六 $ 為例演示矣擴展歐幾里著算法。所得的上大公因數是 $ 二 $，所得貝祖的等式為 $ \ gcd ( 兩百四十 , 四十六 )=二=ma九 * 兩百四十 + 四十七 * 四十六 $。同時猶閣有自驗證等式 $ | 二十三 | * 二=四十六 $ 和 $ | 鋪百二 | * 二=兩百四十 $。&lt;br /&gt;
&lt;br /&gt;
這个過程嘛會當用初等變換表示。&lt;br /&gt;
&lt;br /&gt;
$ $&lt;br /&gt;
{ \ begin { pmatrix } 兩百四十 &amp;amp; 四十六 \ \ 一 &amp;amp; 零 \ \ 零 &amp;amp; 一 \ end { pmatrix } } \ rightarrow { \ begin { pmatrix } 十 &amp;amp; 四十六 \ \ 一 &amp;amp; 零 \ \ 鋪五 &amp;amp; 一 \ end { pmatrix } } \ rightarrow { \ begin { pmatrix } 十 &amp;amp; 六 \ \ 一 &amp;amp; 扳四 \ \ 鋪五 &amp;amp; 二十一 \ end { pmatrix } } \ rightarrow { \ begin { pmatrix } 四 &amp;amp; 六 \ \ 五 &amp;amp; 扳四 \ \ 鋪二十六 &amp;amp; 二十一 \ end { pmatrix } } \ rightarrow { \ begin { pmatrix } 四 &amp;amp; 二 \ \ 五 &amp;amp; ma九 \ \ 鋪二十六 &amp;amp; 四十七 \ end { pmatrix } }&lt;br /&gt;
$ $&lt;br /&gt;
&lt;br /&gt;
得著 $ ma九 \ times 兩百四十 + 四十七 \ times 四十六=二 $&lt;br /&gt;
&lt;br /&gt;
==證明==&lt;br /&gt;
&lt;br /&gt;
因為 $ 零 \ leq r _ { i + 一 } &amp;lt; | r _ { i } | $，$ r _ { i } $ 序列是一个遞減序列，所以本算法會當佇有限步內底終止。閣因為 $ r _ { i + 一 }=r _ { i 影一 }-r _ { i } q _ { i } $，$ ( r _ { i 影一 } , r _ { i } ) $ 和 $ ( r _ { i } , r _ { i + 一 } ) $ 的上大公因數是仝款的，所以終其尾得著的 $ r _ { k } $ 是 $ a $，$ b $ 的上大公因數。&lt;br /&gt;
&lt;br /&gt;
佇歐幾里著算法正確的基礎頂面，閣對著 $ a=r _ { 零 } $ 和 $ b=r _ { 一 } $ 有等式 $ as _ { i } + bt _ { i }=r _ { i } $ 成立（_ i _=零抑是）。 這个關係由下列遞推式對所有 $ i &amp;gt; 一 $ 成立：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: $ r _ { i + 一 }=r _ { i 影一 }-r _ { i } q _ { i }=( as _ { i 影一 } + bt _ { i 影一 } )-( as _ { i } + bt _ { i } ) q _ { i }=( as _ { i 影一 }-as _ { i } q _ { i } ) + ( bt _ { i 影一 }-bt _ { i } q _ { i } )=as _ { i + 一 } + bt _ { i + 一 } $&lt;br /&gt;
&lt;br /&gt;
所以 $ s _ { i } $ 和 $ t _ { i } $ 滿足喘氣等式，這就證明矣擴展歐幾里著算法的正確性。&lt;br /&gt;
&lt;br /&gt;
==實現==&lt;br /&gt;
&lt;br /&gt;
以下是擴展歐幾里德算法的 Python 實現：&lt;br /&gt;
&lt;br /&gt;
擴展歐幾里著算法 C + + 實現：&lt;br /&gt;
&lt;br /&gt;
==參考資料==&lt;br /&gt;
&lt;br /&gt;
==參考文獻==&lt;br /&gt;
&lt;br /&gt;
* Thomas H . Cormen , Charles E . Leiserson , Ronald L . Rivest , and Clifford Stein . _ 算法導論 _ , Second Edition . MIT Press and McGraw-Hill , 兩千空一 . ISBN 空九二百六十二鋪三千二百九十三鋪七 . Pages 八仔五十九–八百六十一 of section 三十一孵二 : Greatest common divisor .&lt;br /&gt;
* Christof Paar , Jan Pelzl 對馬小婷譯 . _ 深入淺出密碼學 _ , 清華大學出版社，ISBN 九九四七千八百七十三鋪空二百二十九九九九十六 . Pages 一百五十一孵一百五十五六桱三 . 第二擴展的歐幾里著算法&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* Source for the form of the algorithm used to determine the multiplicative inverse in GF ( 二 ^ 八 )&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>