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 函数输出结果。
相关推荐
2025年一定要上岸3 分钟前
【日常学习】10-15 学习re
学习·算法·正则表达式
aramae17 分钟前
数据结构与算法(递归)
开发语言·经验分享·笔记·算法
小欣加油19 分钟前
leetcode 329 矩阵中的最长递增路径
c++·算法·leetcode·矩阵·深度优先·剪枝
Emilia486.22 分钟前
【Leetcode&nowcode&数据结构】单链表的应用(初阶)
c语言·数据结构·算法·leetcode
草莓工作室27 分钟前
AT指令解析:TencentOS Tiny AT指令解析源码分析2-数据类型定义
c语言·at指令·tencentos tiny
JAVA学习通1 小时前
JDK高版本特性总结与ZGC实践
java·jvm·算法
syty20201 小时前
简简单单区块链
算法·哈希算法
CoovallyAIHub1 小时前
CLIP, DINO等多模型融合DreamSim,让电脑“看懂”图片有多像!模型融合成为热门!
深度学习·算法·计算机视觉
骁的小小站1 小时前
Learn C the Hardway学习笔记和拓展知识(一)
c语言·开发语言·c++·经验分享·笔记·学习·bash
Giser探索家1 小时前
遥感卫星升轨 / 降轨技术解析:对图像光照、对比度的影响及工程化应用
大数据·人工智能·算法·安全·计算机视觉·分类