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 函数输出结果。
相关推荐
奶黄小甜包18 分钟前
C语言零基础第16讲:内存函数
c语言·笔记·学习
现在,此刻6 小时前
leetcode 11. 盛最多水的容器 -java
java·算法·leetcode
☆璇7 小时前
【C++】哈希的应用:位图和布隆过滤器
算法·哈希算法
码达拉7 小时前
顺序表的总结及模拟实现
数据结构·c++
源远流长jerry8 小时前
OpenHarmony概述与使用
c语言·c++·鸿蒙系统
艾莉丝努力练剑8 小时前
深入详解C语言的循环结构:while循环、do-while循环、for循环,结合实例,讲透C语言的循环结构
c语言·开发语言·c++·学习
Boop_wu8 小时前
[ 数据结构 ] 时间和空间复杂度
数据结构
一株月见草哇8 小时前
Matlab(4)
人工智能·算法·matlab
hans汉斯8 小时前
基于深度学习的苹果品质智能检测算法研究
人工智能·深度学习·算法
紫洋葱hh9 小时前
【数据结构】二叉搜索树
数据结构