用三種演算法求最大公約數

2021-07-29 09:16:43 字數 865 閱讀 4123

窮舉法:將兩個數a,b中較小的值賦給q,然後a除q,b也除q,若兩者的餘數同時為0

時,那麼q就是兩者的最大公約數。若不等於0,則將q-1,然後繼續a除q,b

除q,直至餘數同時為0。

#include void qongjufa()

printf("最大公約數為%d\n",m,n,q);

相除法:將兩數ab相除,如餘數c不等於0,就把b的值賦予a,c的值賦予b,直到c等於0,則最大公約數就是b

#include void xiangchu()

} printf("%d和%d的最大公約數是:%d\n",m,n,b);//輸出結果

將兩數中大的a減去小的b,兩數之值逐步減少,因而到有限步後必然獲得相同的兩數,也即所求的最大公約數

#includeusing namespace std;

int xiangjian(int a,int b)//相減法的具體步驟

最大公約數簡便演算法 求最大公約數的4種演算法

for z 0 z 10000000 z 迴圈只是為了增加程式的執行時間,讓我們體會演算法的時間複雜度。演算法一 短除法 想法,採用短除法找出2個數的所有公約數,將這些公因子相乘,結果就是2個數的最大公約數。找公因子,只能使用蠻力法 include include void main int m 2...

最大公約數簡便演算法 最大公約數演算法

1 查詢約數法 先分別找出每個數的所有約數,再從兩個數的約數中找出公有的約數,其中最大的乙個就是 最大公約數 例如,求 12 和 30 的最大公約數 12 的約數有 1 2 3 4 6 12 30 的約數有 1 2 3 5 6 10 15 30 12 和 30 的公約數有 1 2 3 6,其中 6 ...

求最大公約數

最新用了三種演算法實現了求最大公約數的演算法,用的c 寫的,最大公約數也是我們生活中常見的問題 1 窮舉法 主要 如下 if a b for i 1 i a i 演算法分析 窮舉法先將a,b兩值比較大小並且互換,再進行與各種數的整除,如果這個數能同時被a,b整除,那麼這個數就為最大公約數,這種演算法...