int GCD(int a, int b){
while(b != 0) {
int r = a % b;
a = b;
b = r;
}
printf("%d",a);
}
int main()
{
int a,b;
printf("請輸入2個整數");
scanf("%d %d",&a,&b);
GCD(a,b);
}
另一種解法用短除法。
int GCD(x, y){
int i = 1;
while(true){
i++;
if (x%i==0 and y%i == 0){
return i * GCD(x/i, y/i);
if [(i^2>=x) or (i^2>=y)
black;
}
}
}

