互减法求两个数的最大公约数
时间: 2024-02-04 19:06:14 浏览: 109
求两个数的最大公约数
互减法,也称为辗转相减法,是一种求两个数的最大公约数的算法。它的步骤如下:
1. 给定两个正整数。
2. 判断两个数是否相等,若相等,则最大公约数即为它们本身。
3. 若两个数不相等,较大的数减去较小的数,然后再用较小的数减去所得差值,重复这个操作,直到两个数相等为止。
4. 两个数相等时,它们的值即为最大公约数。
对应的程序代码如下:
```
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个数!\n");
scanf("%d%d", &num1, &num2);
if (num1 == num2) {
printf("最大公约数为%d\n", num1);
} else {
while (num1 != num2) {
if (num1 > num2)
num1 = num1 - num2;
else
num2 = num2 - num1;
}
printf("最大公约数为:%d\n", num1);
}
return 0;
}
```
阅读全文