前端JS演算法之最大公因數

2021-10-11 00:22:34 字數 1355 閱讀 8189

概念:

最大公因數:也稱最大公約數、最大公因子,指兩個或多個整數共有約數中最大的乙個。

約數:又稱因數。整數a除以整數b(b≠0) 除得的商正好是整數而沒有餘數,我們就說a能被b整除,或b能整除a。a稱為b的倍數,b稱為a的約數。

邏輯步驟:

第一種演算法邏輯:

1、最大公因數,就是兩個數都能整除的最大除數。

2、整除就代表著餘數為0,js運算中我們可以使用求餘符號%。

3、分別讓兩個整數迴圈求餘,兩個整數餘數都為0的時候,把這個除數儲存到乙個變數裡面,迴圈完成時,這個變數儲存的就是最大公約數。

function

maxcommondivisor

(n1, n2)

let sum

for(let i =

0; i <= n1; i++)}

return sum;

}

第二種演算法邏輯:(輾轉相除法)

1、輾轉相除法 也叫歐幾里德演算法。以除數和餘數反覆做除法運算,當餘數為 0 時,取當前算式除數為最大公約數。

function

maxcommondivisor

(n1, n2)

/* 判斷n1,n2,做求餘運算,值是否為0,如果為0,那麼n2就是就是兩個整數的最大公約數。

如果不為0,則繼續呼叫函式自身,使除數和餘數繼續求餘運算

*/if

(n1 % n2 ==0)

else

}

第三種演算法邏輯:(更損相減法)

1、任意給定兩個正整數;判斷它們是否都是偶數。若是,則用2約簡;若不是則執行第2步。

2、以較大的數減較小的數,接著把所得的差與較小的數比較,並以大數減小數。繼續這個操作,直到所得的減數和差相等為止。

3、第2步中約掉的若干個2與第2步中等數的乘積就是所求的最大公約數。

function

maxcommondivisor

(n1, n2)

// 比較n1,n2的大小,使用解構賦值,使較大的數等於n1

if(n1 < n2)

// 較大的數減較小的數,求差

let poor = n1 - n2;

// 使用while迴圈判斷 差 是否等於n2, 如果不等於,則繼續使較大數減較小數求差

while

(poor != n2)

else

poor = n1 - n2;

}// 若干個2 乘以 得出的差,就是最大公約數

return poor * sum;

}

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

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

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

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 ...

求最大公因數和最小公倍數

利用更相減損術與輾轉相除法來實現求最大公因數與最小公倍數的功能。如下 博主入門不久,還請神犇們多指教 include include using namespace std int number1,number2,number3,number4,answer void change 自定義函式,用於...