计算输入三个数的最大公约数C语言
时间: 2024-09-24 16:13:46 浏览: 41
在C语言中,我们可以使用欧几里得算法(Euclidean algorithm)来计算三个数的最大公约数(Greatest Common Divisor, GCD)。该算法基于这样一个性质:两个整数a和b的最大公约数等于a除以b余数r与b之间的最大公约数。以下是C语言的一个简单实现,用于同时计算三个数的GCD:
```c
#include <stdio.h>
// 定义计算两个数的最大公约数函数
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
// 计算三个数的最大公约数
int gcd_of_three(int num1, int num2, int num3) {
return gcd(gcd(num1, num2), num3);
}
int main() {
int num1, num2, num3;
printf("Enter three numbers: ");
scanf("%d %d %d", &num1, &num2, &num3);
int result = gcd_of_three(num1, num2, num3);
printf("The greatest common divisor of %d, %d, and %d is %d.\n", num1, num2, num3, result);
return 0;
}
```
在这个程序中,首先我们定义了一个辅助函数`gcd(a, b)`来计算两个数的最大公约数。然后在主函数`main()`中,用户输入三个数字,将它们传递给`gcd_of_three`函数来得到结果。
阅读全文