輾轉(zhuǎn)相除法c語言代碼函數(shù)(輾轉(zhuǎn)相除法c語言)
哈嘍,大家好~~~我是小編田甜,關于輾轉(zhuǎn)相除法c語言代碼函數(shù),輾轉(zhuǎn)相除法c語言這個很多人還不知道,那么現(xiàn)在讓田甜帶著大家一起來看看吧!
1、用輾轉(zhuǎn)相除法(即歐幾里得算法)求兩個正整數(shù)的最大公約數(shù)。
2、 解析: 設兩個數(shù)m,n,假設m>=n,用m除以n,求得余數(shù)q。
3、若q為0,則m為最大公約數(shù);若q不等于0,則進行如下迭代: m=n,n=q,即原除數(shù)變?yōu)樾碌谋怀龜?shù),原余數(shù)變?yōu)樾碌某龜?shù)重復算法,直到余數(shù)為0為止。
4、余數(shù)為0時的除數(shù)n,即為原始m、n的最大公約數(shù)。
5、 迭代初值:m,n的原始值; 迭代過程:q=m%n; m=n; n=q; 迭代條件:q!=0 例如:m=8;n=6 q=m%n(8%6==2) m=n(m==6) n=q(n==2) 因為:(q==2)!=0,重復算法: q=m%n(6%2==0) m=n(m==2)余數(shù)為0時的除數(shù)n為最大公約數(shù),n值賦給了m,所以輸出m的值 n=q(n==0) 因為:q==0 所以最大公約數(shù)為m的值 源程序: #include
本文分享完畢,希望對大家有所幫助哦。
免責聲明:本文為轉(zhuǎn)載,非本網(wǎng)原創(chuàng)內(nèi)容,不代表本網(wǎng)觀點。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內(nèi)容。