C语言两个函数分别求两个正整数的最大公约数和最小公倍数(附带源码)

发布时间:2024年01月23日

前面文章讲解过你可以使用辗转相除法来求两个正整数的最大公约数(GCD),以及使用最大公约数求最小公倍数(LCM)的方法。以下是两个函数的实现:

  1. 求最大公约数的函数:
#include <stdio.h>

// 函数声明
int gcd(int a, int b);

// 主函数
int main() {
    int num1, num2;

    // 输入两个正整数
    printf("输入两个正整数: ");
    scanf("%d %d", &num1, &num2);

    // 调用函数求最大公约数
    int result_gcd = gcd(num1, num2);

    // 输出结果
    printf("最大公约数是: %d\n", result_gcd);

    return 0;
}

// 求最大公约数的函数定义
int gcd(int a, int b) {
    int temp;
    while (b != 0) {
        temp = a % b;
        a = b;
        b = temp;
    }
    return a;
}
  1. 求最小公倍数的函数:
#include <stdio.h>

// 函数声明
int gcd(int a, int b);
int lcm(int a, int b);

// 主函数
int main() {
    int num1, num2;

    // 输入两个正整数
    printf("输入两个正整数: ");
    scanf("%d %d", &num1, &num2);

    // 调用函数求最小公倍数
    int result_lcm = lcm(num1, num2);

    // 输出结果
    printf("最小公倍数是: %d\n", result_lcm);

    return 0;
}

// 求最大公约数的函数定义
int gcd(int a, int b) {
    int temp;
    while (b != 0) {
        temp = a % b;
        a = b;
        b = temp;
    }
    return a;
}

// 求最小公倍数的函数定义
int lcm(int a, int b) {
    return (a * b) / gcd(a, b);
}

这两个函数分别为最大公约数和最小公倍数提供了基本的计算方法。你可以在主函数中输入两个正整数,然后调用这两个函数进行计算并输出结果。

希望你也学会了,更多编程请来二当家的素材网:https://www.erdangjiade.com

文章来源:https://blog.csdn.net/u013032788/article/details/135767900
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。