遞迴_輾轉相除法
user_3763047219
c_cpp
3 years ago
622 B
6
Indexable
int GCD(int t, int v);
int GCD(int t, int v) {
if (t > v) {
t = t - (t / v) * v;
}
else {
v = v - (v / t) * t;
}
if (t != 0 && v != 0) {
GCD(t, v);
}
else {
if (t == 0) {
return v;
}
else if (v == 0) {
return t;
}
}
}
#include <stdio.h>
#include <stdlib.h>
int main() {
int a, b;
scanf("%d", &a);
scanf("%d", &b);
int temp;
if (b > a) {
temp = a;
a = b;
b = temp;
}
printf("%d\n", GCD(a, b));
return 0;
}Editor is loading...