一、题目要求:输入两个数,判断两个数的最大公约数。
二、解题思路:
1、利用一个较小的数对较大的数取模是他本身的性质。
2、编写一个循环,利用上面性质,第一次循环可以对a与b的值进行比较,所以不用再进行比较,将a对b取得的模进行互换,当取得的模为0时,此时的被除数也就是为最大公约数。
3、循环结束输出即可。
三、代码实现
int main() {
//--------------------辗转相除法
int a = 0;
int b = 0;
int max ;
scanf("%d%d", &a, &b);
while (max = a % b) {
a = b;
b = max;
}
printf("最大公约数为:%d\n", b);
最小公倍数是:m*n/最大公约数
return 0;
}