日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

高中计算机辗转相除法,高中数学的辗转相除法问题

發(fā)布時(shí)間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 高中计算机辗转相除法,高中数学的辗转相除法问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

滿意答案

smrmhm

2013.06.03

采納率:40%????等級(jí):12

已幫助:12477人

輾轉(zhuǎn)相除法 百科名片 歐幾里德輾轉(zhuǎn)相除法, 又名歐幾里德算法(Euclidean algorithm)乃求兩個(gè)正整數(shù)之最大公因子的算法。它是已知最古老的算法, 其可追溯至3000年前。簡(jiǎn)單的想法   設(shè)兩數(shù)為a、b(b<a),求它們最大公約數(shù)(a、b)的步驟如下:用b除a,得a=bq......r 1(0≤r)。若r1=0,則(a,b)=b;若r1≠0,則再用r1除b,得b=r1q......r2 (0≤r2).若r2=0,則(a,b)=r1,若r2≠0,則繼續(xù)用r2除r1,……如此下去,直到能整除為止。其最后一個(gè)非零余數(shù)即為(a,b)。 原理及其詳細(xì)證明   在介紹這個(gè)方法之前,先說明整除性的一些特點(diǎn)(下文的所有數(shù)都是正整數(shù),不再重覆),我們可以這樣給出整除性的定義:   對(duì)于二個(gè)自然數(shù)a和b,若存在正整數(shù)q,使a=bq,則a能被b整除,b為a的因子,a為b的倍數(shù)。   如果a能被c整除,并且b也能被c整除,則c為a、b的公因數(shù)(公有因數(shù))。   由此我們可以得出以下推論:   推論1、如果a能被b整除(a=qb),若k為正整數(shù),則ka也能被b整除(ka=kqb)   推論2、如果a能被c整除(a=hc),b也能被c整除(b=tc),則(a±b)也能被c整除   因?yàn)?#xff1a;將二式相加:a+b=hc+tc=(h+t)c 同理二式相減:a-b=hc-tc=(h-t)c   所以:(a±b)也能被c整除   推論3、如果a能被b整除(a=qb),b也能被a整除(b=ta),則a=b   因?yàn)?#xff1a;a=qb b=ta a=qta qt=1 因?yàn)閝、t均為正整數(shù),所以t=q=1   所以:a=b   輾轉(zhuǎn)相除法是用來計(jì)算兩個(gè)數(shù)的最大公因數(shù),在數(shù)值很大時(shí)尤其有用,而且應(yīng)用在電腦程式上也十分簡(jiǎn)單。其理論如下:   如果 q 和 r 是 m 除以 n 的商及余數(shù),即 m=nq+r,則 gcd(m,n)=gcd(n,r)。   證明是這樣的: 設(shè) a=gcd(m,n),b=gcd(n,r)   證明:   ∵a為m,n的最大公約數(shù),   ∴m能被a整除,且n也能被a整除,   ∴由推論1得:qn也能被a整除,   ∴ 由推論2得:m-qn也能被a整除,   又 ∵m-qn=r,   ∴r也能被a整除,即a為n和r的公約數(shù)(注意:還不是最大公約數(shù))   ∵b為n和r的最大公約數(shù),a為n和r的公約數(shù)   ∴a≤b,   同理   ∵b為n, r的最大公約數(shù),   ∴n能被b整除,且r也能被b整除,   ∴由推論1得:qn也能被b整除,   ∴由推論2得:qn+r也能被b整除,   又∵m=qn+r,   ∴m也能被b整除,即b為m和n的公約數(shù),(注意:還不是最大公約數(shù))   ∵a為m,n的最大公約數(shù),b為m和n的公約數(shù),   ∴b≤a,   由以上可知:   a≤b與b≤a同時(shí)成立,   故可得   a=b,   證畢。   例如計(jì)算 gcd(546, 429)   gcd(546, 429) 546=1*429+117   =gcd(429, 117) 429=3*117+78   =gcd(117, 78) 117=1*78+39   =gcd(78, 39) 78=2*39   =39 [編輯本段]計(jì)算機(jī)算法自然語言描述   輾轉(zhuǎn)相除法是利用以下性質(zhì)來確定兩個(gè)正整數(shù) a 和 b 的最大公因子的:   1. 若 r 是 a ÷ b 的余數(shù), 則   gcd(a,b) = gcd(b,r)   2. a 和其倍數(shù)之最大公因子為 a。   另一種寫法是:   1. a ÷ b,令r為所得余數(shù)(0≤r<b)   若 r = 0,算法結(jié)束;b 即為答案。   2. 互換:置 a←b,b←r,并返回第一步。 流程圖    流程圖(當(dāng)型) 偽代碼   這個(gè)算法可以用遞歸寫成如下:   function gcd(a, b) {   if b<>0   return gcd(b, a mod b);   else   return a;   } c語言實(shí)現(xiàn)   /* 輾轉(zhuǎn)相除法(遞歸)*/   #include   int Gcd(int a,int b);   int main(void )   {   int m,n,t;   printf("Enter the two figures:");   scanf("%d %d",&m,&n);   printf("Gcd:%d\n",Gcd(m,n));   return 0;   }   int Gcd(int m,int n)//最大公約數(shù)   {   int t;   if(m

00分享舉報(bào)

總結(jié)

以上是生活随笔為你收集整理的高中计算机辗转相除法,高中数学的辗转相除法问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。