更相减损法求最大公约数(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。