辗转相除法代码c语言
时间: 2024-11-06 10:12:32 浏览: 4
辗转相除法求最大公约数,计算过程说明和C语言实现
辗转相除法,也称欧几里得算法,是一种古老的计算两个正整数最大公约数(Greatest Common Divisor, GCD)的方法。在C语言中,你可以通过递归或者循环的方式实现它。以下是简单的循环版本的代码示例:
```c
#include <stdio.h>
// 定义函数计算gcd
int gcd(int a, int b) {
while (b != 0) {
int temp = a % b; // 计算余数
a = b; // 更新a为b
b = temp; // 更新b为余数
}
return a; // 返回最后的商作为最大公约数
}
int main() {
int num1, num2;
printf("请输入两个正整数:");
scanf("%d %d", &num1, &num2);
int result = gcd(num1, num2);
printf("这两个数的最大公约数是:%d\n", result);
return 0;
}
```
在这个代码中,`gcd()` 函数不断将较大的数除以较小的数并取余,直到余数为0,此时较小的数就是两数的最大公约数。
阅读全文