辗转相除法:
取两个数中最大的数做除数,较小的数做被除数,用最大的数除较小数,如果余数为0,则较小数为这两个数的最大公约数,如果余数不为0,用较小数除上一步计算出的余数,直到余数为0,则这两个数的最大公约数为上一步的余数。
int main() {
//相除法
int m, n, i;
printf("请输入两个数\n");
scanf("%d %d", &m, &n);
if (m < n) {
i = n;
n = m;
m = i;
}
while (m %n!=0) {
i = m % n;
m = n;
n = i;
}
printf("最大公约数是%d\n", n);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)