C语言 求两个整数的最大公约数和最小公倍数

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。

cpp 复制代码
#include <stdio.h>

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

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

int main() {
    int a, b;
    printf("输入两个整数:");
    scanf("%d %d", &a, &b);
    
    printf("最大公约数:%d\n", gcd(a, b));
    printf("最小公倍数:%d\n", lcm(a, b));
    
    return 0;
}

解释说明:

最大公约数:

  • 函数 gcd 使用辗转相除法(欧几里得算法)来计算两个整数的最大公约数。
  • 主函数从键盘读取两个整数,并调用 gcd 函数输出结果。

最小公倍数:

  • 函数 lcm 使用公式 LCM(a, b) = (a * b) / GCD(a, b) 计算最小公倍数。
  • 主函数从键盘读取两个整数,并调用 lcm 函数输出结果。
相关推荐
历程里程碑3 小时前
滑动窗口----滑动窗口最大值
javascript·数据结构·python·算法·排序算法·哈希算法·散列表
2301_822382763 小时前
嵌入式C++实时内核
开发语言·c++·算法
wWYy.3 小时前
malloc底层实现
算法
青桔柠薯片3 小时前
数据结构:双向循环链表,栈
数据结构·链表
Remember_9933 小时前
Java 工厂方法模式:解耦对象创建的优雅方案
java·开发语言·python·算法·工厂方法模式
鱼跃鹰飞3 小时前
Leetcode会员尊享面试100题:333.最大二叉搜索子树
数据结构·算法·leetcode·面试
日拱一卒——功不唐捐3 小时前
交换排序:冒泡排序和快速排序(C语言)
c语言·数据结构·算法
2301_790300963 小时前
C++与物联网开发
开发语言·c++·算法
山楂树の3 小时前
3D渲染分层机制 Layers 的原理分析(Threejs)
数据结构·3d·相机
鱼跃鹰飞3 小时前
Leetcode会员尊享面试100题:255.验证二叉搜索树的前序遍历序列
算法·leetcode·面试