当前位置:首页 > 行业动态 > 正文

c语言中怎么求最大公约数

在C语言中,可以使用辗转相除法(欧几里得算法)来求两个数的最大公约数,以下是详细的步骤和代码:

1、定义一个函数int gcd(int a, int b),接收两个整数a和b作为参数。

2、使用while循环,当b不等于0时,执行循环体。

3、在循环体中,将a % b的结果赋值给一个临时变量temp。

4、将b的值赋给a。

5、将temp的值赋给b。

6、循环结束后,返回a的值,即为最大公约数。

以下是实现这个算法的C语言代码:

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

在这个代码中,我们首先定义了一个名为gcd的函数,用于计算两个整数的最大公约数,然后在main函数中,我们从用户那里获取两个整数,并调用gcd函数计算它们的最大公约数,最后输出结果。

0