起源
辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。
算法示意图
递归法
int getGcd(int a, int b) {
return b == 0 ? a : getGcd(b, a % b);
}
示例代码
#include <stdio.h>
#include <math.h>
int getGcd(int a, int b) {
return b == 0 ? a : getGcd(b, a % b);
}
int main() {
int a, b;
while (scanf("%d%d", &a, &b) != EOF) {
printf("%d\n", getGcd(a, b));
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。