目錄:d:\cpp\examples\學習c++的每一天\第6天10.18\公約數
例如:12、18這兩個數字,36既是12的整數倍也是18的整數倍,72、144這些數字都是這兩個數的公倍數,其中最小的公倍數是36;
設計思路:從18開始向上探測,用19,20,21,…等數字去對12與18去餘數。
2,3,6這些數字都是12與18這兩個數字的約束,也就是可以同時整除12與18的數字,其中 6是12與18 的最大公約數;
設計思路:從12 開始向下探測,11,10,9…找出第乙個能整除12和18 的數字。
①編寫乙個函式求兩個數的最大公約數:
int divisor(int a,int b)
②編寫乙個函式求兩個數字的最小公倍數:
int multiple(int a,int b)
在 main 函式中分別輸入兩個數字來呼叫以上兩個函式,列印出最大公約數和最小公倍數。
最大公約數 最小公倍數
求最大公約數最直接的辦法是從兩數中較小數與2之間的所有整數中乙個乙個的找。但這個方法有點浪費。有兩種有名的方法 1.輾轉相除法2.更相減損之術這兩種方法比較有名,而且現在人教版的高中數學中已經介紹了這兩種方法。下面這個是第2個,因為它只需要加減法就可以,效率高。int maxfactor unsig...
最小公倍數 最大公約數
求最小公倍數演算法 最小公倍數 兩整數的乘積 最大公約數 求最大公約數演算法 1 輾轉相除法 有兩整數a和 b a b得餘數c 若c 0,則 b即為兩數的最大公約數 若c 0,則 a b,b c,再回去執行 例如求27和 15的最大公約數過程為 27 15 餘12 15 12餘3 12 3餘0 因此...
最大公約數,最小公倍數
兩個數最大公約數 輾轉相除法 在數學中,輾轉相除法,又稱歐幾里得演算法,是求最大公約數的演算法。兩個整數的最大公約數是能夠同時整除它們的最大的正整數。輾轉相除法基於如下原理 兩個整數的最大公約數等於其中較小的數和兩數的差的最大公約數。例如 用 a,b 來表示a和b的最大公約數。已知a,b,c為正整數...