一、最大公约数
欧几里得算法又称辗转相除法,用于求两个正整数num1, num2的最大公约数,记作gcd(num1, num2)
算法思想:
1)如果num1 < num2,交换num1, num2值
2)rem=num1 mod num2(即rem的余数),若 rem = 0,算法结束,num2即为答案
3)否则,互换:num1 ← num2,num2←rem,并返回第一步。
//使用欧几里得算法求最大公约数(辗转相除法)
public static int getGcd(int num1, int num2) {
//两个数字num1 > num2
if (num1 < num2) {
int temp = num1;
num1 = num2;
num2 = temp;
}
int rem = -1;
while (num1 % num2 != 0) {
rem = num1 % num2;
num1 = num2;
num2 = rem;