题目描述 给定两个正整数aa、bb,求它们的最大公约数。 输入描述 两个正整数aa、bb(1≤a≤103,1≤b≤1031≤a≤103,1≤b≤103)。 输出描述 输出aa和bb的最大公约数。 用c语言
时间: 2024-03-16 19:41:00 浏览: 146
输入两个正整数m和n,求其最大公因数和最小公倍数
以下是用C语言实现的代码:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) { // 如果b等于0,那么a就是最大公约数
return a;
} else { // 否则递归求b和a%b的最大公约数
return gcd(b, a % b);
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b); // 读入两个整数
int ans = gcd(a, b); // 求它们的最大公约数
printf("%d\n", ans); // 输出最大公约数
return 0;
}
```
该程序定义了一个名为`gcd`的函数,用于求两个整数的最大公约数。该函数使用了递归算法,如果`b`等于0,则`a`就是最大公约数;否则递归调用`gcd`函数求`b`和`a%b`的最大公约数。主函数中读入两个整数,然后调用`gcd`函数求它们的最大公约数,并输出该值。
阅读全文