这里提供一种使用辗转相除法求最大公约数的代码实现:

#include <stdio.h>

// 辗转相除法求最大公约数
int gys(int m, int n) {
    if (n == 0) {
        return m;
    } else {
        return gys(n, m % n);
    }
}

int main() {
    int m, n;
    scanf("%d%d", &m, &n);
    printf("%d\n", gys(m, n));
    return 0;
}

代码中,gys 函数采用递归实现,如果 n 等于 0,返回 m,否则返回 nm % n 的最大公约数。在 main 函数中,先读入 mn,然后调用 gys 函数求解最大公约数并输出。

int gysint mint n;某中m 和口 都是用户传入的委数。函数用道归法求m 和n的最大公约数。Hinclucesstdiohsint gysint mint nint main0int mnscanfdd&m&n;printfdIn gysmn;return 0;输入样例:24 16输山样例:8

原文地址: https://www.cveoy.top/t/topic/fpXQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录