c语言

c语言怎么求两个数的最大公约数

小亿
200
2023-08-12 01:16:19
栏目: 编程语言

可以使用辗转相除法来求两个数的最大公约数。算法如下:

  1. 将两个数中较大的数赋给变量a,较小的数赋给变量b。

  2. 计算a除以b的余数,将余数赋给变量r。

  3. 若r等于0,则b即为最大公约数,算法结束。

  4. 若r不等于0,则将b赋给a,将r赋给b,然后跳转到步骤2继续执行。

以下是使用C语言实现上述算法的代码示例:

#include <stdio.h>
int gcd(int a, int b) {
int r;
while (b != 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
int num1, num2, result;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
result = gcd(num1, num2);
printf("最大公约数为:%d\n", result);
return 0;
}

在该示例中,gcd函数用于求两个数的最大公约数。主函数main中通过用户输入获取两个整数,然后调用gcd函数计算最大公约数并输出结果。

0
看了该问题的人还看了