更相減損法求最大公約數(Greatest Common Divisor)
今天給大家介紹如何用更相減損法求兩個數的最大公約數。
思路:1.首先我們要輸入兩個數字,要引入java.util.Scanner;
2. 接下來我們來了解一下更相減損法。更相減損法出自《九章算術》:“可半者半之,不可半者,副置分母、子之數,以少減多,更相減損,求其等也。以等數約之。”具體方法為兩個數之間大的數字減小的數字,之後將得到的差作為減數,較小的數作為被減數,再次相減,一直迴圈直到減數與所得的差相同,此時的差即為兩個數之間的最大公約數。
例如24與18,我們用24-18得到差為6,再將18作為被減數,6作為減數得到18-6=12,再進行12-6=6,我們看到差為6,與減數6相等,再減下去會得到6-6=0。即 24與18的最大公約數為6。
3.根據更相減損法,我們需要判斷兩個數誰大誰小,如果需要交換位置,這就定義一箇中間的變數t.交換完成後需要迴圈相減,直到兩個數差為0,這裡用while語句作為示例。程式碼如下。
歡迎批評指正。如有疑問請聯絡QQ群1085585086。
相關文章
- 更相減損法(求最大公約數)
- 更相減損術求解最大公約數
- 輾轉相除法與更相減損術(求最大公約數)
- C語言 用更相減損術求最大公約數,最小公倍數C語言
- LeetCode Greatest Common Divisor of Strings All In OneLeetCode
- 求最大公約數不同演算法的時間比較(輾轉相除法,更相減損術等)演算法
- 求最大公約數 & 最大公約數
- 求最大公約數 最簡手寫加STL
- 更相減損術的應用
- 求最大公約數(輾轉相除法)
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- 證明:輾轉相除法與更相減損術
- 004 最大公約數
- 6-8 使用函式求最大公約數 (10分)函式
- C. 最大公約數
- 最大公約數,最小公倍數
- 最小公倍數&&最大公約數
- 演算法設計與分析:求兩個自然數的最大公約數演算法
- 最大公約數和最小公倍數
- 最小公倍數和最大公約數
- 連求最大公約數都不會,我怕不是上了個假大學
- 求兩個正整數的最大公約數與最小公倍數--C#實現C#
- python語言程式設計——求最大公約數和最小公倍數演算法Python程式設計演算法
- 約瑟夫環(約瑟夫問題)求最後出列的人數
- c語言遞迴函式實現求最大公約數(Euclid演算法)C語言遞迴函式演算法
- acwing246 區間最大公約數
- C++:最小公倍數與最大公約數C++
- 面試官:來寫個程式碼求一下兩個數的最大公約數吧面試
- 【數學問題】最大公約數與最小公倍數
- 用遞迴求出最大公約數和最小公倍數,求補充最小公倍數的遞迴用法遞迴
- 7.97 GREATEST
- 浮點數加減法
- 數學-錯位相減法
- P8792 [藍橋杯 2022 國 A] 最大公約數
- C. Divisor ChainAI
- 篩選法求質數
- abc112D 和為定值時的最大公約數
- 最長公共子序列 Longest Common Subsequence