展轉相除法, 又名歐幾里德算法(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)); } }