C语言编程实现求两个整数的最大公约数,例如24和18的最大公约数
时间: 2024-10-10 08:06:06 浏览: 56
C语言编程实现求两个数的最大公约数和最小公倍数
在C语言中,可以使用欧几里得算法(Euclidean Algorithm),也称为辗转相除法,来实现求两个整数的最大公约数。以下是使用函数的方式来编写这个程序:
```c
#include <stdio.h>
// 函数声明,用于计算最大公约数
int gcd(int a, int b);
int main() {
int num1 = 24;
int num2 = 18;
int result = gcd(num1, num2);
printf("The greatest common divisor of %d and %d is %d.\n", num1, num2, result);
return 0;
}
// 欧几里得算法实现
int gcd(int a, int b) {
if (b == 0)
return a; // 如果b为0,a就是最大公约数
else
return gcd(b, a % b); // 递归调用gcd函数,用b和a除以b的余数作为新的a和b
}
```
在这个程序中,`gcd`函数不断将较大的数替换为两数相除的余数,直到余数为0,此时较小的数即为最大公约数。
阅读全文