1. 如果B=0,那么A就是最大公约数
  2. B!=0,计算A/B的余数,让A=B,而B等于余数

演示:

A=12 B=18 remainder=12

A=18 B=12 remainder=6

A=12 B=6 remainder=0

A=6 B=0 remainder=0

A=6 B=0 over

#include
int main() {
int A,B,remainder;
A=12;
B=18;
while(B!=0) {
remainder=A%B;
A=B;
B=remainder;
}
printf("GCD=%d",A);
return 0;
}
// 程序运行结果:GCD=6
// PS: A*B=GCD*LCM