C 求兩個數的最大公因數的三種求法

2021-10-04 17:58:28 字數 724 閱讀 3024

(1)用連續整除檢測法求兩個正整數m和n的最大公約數

(2)用歐幾里德演算法求兩個正整數m和n的最大公約數

(3)用相減法求兩個正整數m和n的最大公約數

#include

using

namespace std;

class

calculate

;void calculate::

fun1()

//乙個個除的蠻力法

for(i=m;i>

0;i--

)//如果從i=1開始比較就算得到了公因數也不知道是不是最大公因數,則需要依然繼續比較直到i=m,然後才能保證更新到了最大的公因數,而i從m開始則遇到的第乙個公因數便是最大公因數,則避免了不必要的比較。

cout<<

"最大公因數是: "

<}void calculate::

fun2()

//歐幾里得輾轉相除法

x=n%m;

if(x==0)

max=n;

else

while

(x!=0)

cout<<

"最大公因數是:"

<}void calculate::

fun3()

//輾轉相減法

cout<<

"最大公因數是:"

<}int

main()

求最大公因數的三種演算法

include using namespace std intfun int a,int b else fun b,a intmain 在這裡插入 片 include using namespace std intfun2 int a,int b return c int main include ...

python求最大公因數函式 最大公因數的前世今生

作者 大小吳 大小吳的數學課堂 今天大小吳來和大家聊一聊最大公因數的前世今生。最大公因數 greatest common divisor 也稱最大公約數 最大公因子,指兩個或多個整數共有因數中最大的乙個。的最大公因數可記為或,多個整數的最大公因數也有同樣的記號。求最大公因數有多種方法,比如我們小學就...

求兩個數的最大公約數的三種演算法

從鍵盤輸入兩個整數,求著兩個整數的最大公約數。解題思路 從鍵盤輸入兩個數,通過以下的三個方法實現求兩個數的最大公約數 輾轉相除法 取兩個數中最大的數做除數,較小的數做被除數,用最大的數除較小數,如果餘數為0,則較小數為這兩個數的最大公約數,如果餘數不為0,用較小數除上一步計算出的餘數,直到餘數為0,...