欧几里得算法求俩个最大公约数C语言
时间: 2024-09-11 10:00:52 浏览: 66
欧几里得算法(Euclidean algorithm),也称辗转相除法,是用于计算两个正整数a和b的最大公约数(GCD)的算法。其原理是:两个正整数a和b(a>b),它们的最大公约数等同于a除以b的余数c和b之间的最大公约数。算法的步骤如下:
1. 如果b等于0,则最大公约数为a。
2. 否则,计算a除以b的余数c(a mod b),并以b和c代替原来的a和b,重复执行第一步。
下面是用C语言实现的欧几里得算法的示例代码:
```c
#include <stdio.h>
// 函数声明
int gcd(int a, int b);
int main() {
int num1, num2, result;
// 假设有两个正整数num1和num2
printf("请输入两个正整数:");
scanf("%d %d", &num1, &num2);
// 调用函数计算最大公约数
result = gcd(num1, num2);
// 输出结果
printf("最大公约数是:%d\n", result);
return 0;
}
// 函数定义
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b); // 递归调用
}
```
在上面的代码中,`gcd` 函数使用递归方式实现了欧几里得算法。如果用户输入两个正整数,程序将输出它们的最大公约数。
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)