java - 算法 - 求最大公约数
= =看李永乐的视频想到的算法。。。。。。觉得不错所以记录一下
原理: 欧几里得的反转相除法
104 和 40的最大公约数:
104 ÷ 40 = 2 。。。 24
40 ÷ 24 = 1 。。。 16
24 ÷ 16 = 1 。。。 8
16 ÷ 8 = 2
没有余数,则8就是最大公约数
reference: https://www.bilibili.com/video/av77974575
代码:
public class Gcd { public static void main(String[] main){ int a = 150; int b = 24; //求最大公约数 while(true){ int y = a % b; if(y == 0){ System.out.println(b); break; } a = b; b = y; } } }