原理
辗转相除法(也称为欧几里得算法)是一种用于计算两个非负整数 a 和 b 的最大公约数的方法。
- 当 b = 0 时,a 就是最大公约数。
- 如不满足(1)则求出 a / b 的余数,令 a = b,b = 求出的余数。
- 返回步骤(1)
注:重复上述步骤,直至(1)成立
代码
#include <stdio.h>
int main() {
int a = 0, b = 0; // 变量初始化
scanf("%d %d", &a, &b);
while (b) {
int temp = a % b;
a = b;
b = temp;
}
printf("%d", a);
return 0;
}
用途
- 通过算出最大公约数,求出最简分式。