// Code file created by C Code Develop
/*辗转相除法 算法解释:
如果b等于0,计算结束,a就是最大公约数;
否则,计算a除以b的余数,让a等于b,而b等于那个余数;
回到第一步。
*/
#include "stdio.h"
#include "stdlib.h"
int main() {
int a = 0;
int b = 0;
int i = 0; //余数
int out = 0;
scanf("%d %d", &a, &b);
do{
if(b == 0){
out = a;
b -= 1;
}else{
i = a % b;
a = b;
b = i;
printf("a=%d b=%d i=%d\n", a, b, i);
}
}while(b != -1);
printf("最大公约数是%d\n", out);
return 0;
}
仅供参考,请自行修改