用C写求任意两个数的最大公约数
时间: 2024-02-04 20:34:41 浏览: 18
以下是用C语言实现求任意两个数的最大公约数的代码:
```c
#include <stdio.h>
int gcd(int a, int b);
int main()
{
int num1, num2, result;
printf("Enter two integers: ");
scanf("%d %d", &num1, &num2);
result = gcd(num1, num2);
printf("GCD of %d and %d is %d\n", num1, num2, result);
return 0;
}
int gcd(int a, int b)
{
if (a == 0)
return b;
else
return gcd(b % a, a);
}
```
该程序通过递归调用实现了辗转相除法来求任意两个数的最大公约数。
相关问题
用c语言写求两个整数的最大公约数
你好,我可以回答这个问题。以下是用 C 语言写求两个整数的最大公约数的代码:
```
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("它们的最大公约数是:%d\n", gcd(a, b));
return 0;
}
```
这个程序使用递归的方式实现了求两个整数的最大公约数。如果您有任何问题,欢迎继续提问。
用c语言写个求任意两个整数的最大公约数和最小公约数
好的,我可以回答你的问题。以下是用 C 语言求任意两个整数的最大公约数和最小公倍数的代码:
```c
#include <stdio.h>
int gcd(int x, int y) {
while (y > 0) {
int r = x % y;
x = y;
y = r;
}
return x;
}
int lcm(int x, int y) {
return (x * y) / gcd(x, y);
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
int g = gcd(a, b);
int l = lcm(a, b);
printf("%d和%d的最大公约数是%d,最小公倍数是%d\n", a, b, g, l);
return 0;
}
```
这个程序可以让用户输入两个整数,然后计算它们的最大公约数和最小公倍数,并输出结果。如果你有其他问题需要帮助,可以继续提问。