//辗转相除法
int num1 = 48;
int num2 = 20;
int n1 = num1; //n1存被除数
int n2 = num2; //n2存除数
int n3 = n1 % n2;
int n4 = n1 * n2;
while (n3 != 0) {
n1 = n2;
n2 = n3;
n3 = n1 % n2;
}
Console.WriteLine ("最大公约数:" + n2);
Console.WriteLine ("最小公倍数:" + num1 * num2 / n2);
// 老师讲的普通方法
int num1 = 48;
int num2 = 20;
int pul = num1 * num2;
// 取两者之间的最小值
int min = num1 < num2 ? num1 : num2;
int n = 1;
// for 循环 递减匹配余数 知道余数为0
for (int i = min; i >= 1; i--) {
// 两个数 余数为0
if ((num1 % i == 0) && (num2 % i == 0)) {
n = i;
// i递减 当取到第一个值是 停止语句执行
break;
}
}
Console.WriteLine ("最大公约数:" + n);
Console.WriteLine ("最小公倍数:" + pul / n);