C语言 求最大公约数和最小公倍数

这个程序定义了两个函数,一个用于计算两个正整数的最大公约数 (GCD),另一个用于计算最小公倍数 (LCM)。在主函数中读取用户输入的两个正整数,并调用这两个函数输出结果。

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

// 计算最大公约数的函数,使用辗转相除法
int gcd(int a, int b) {
    while (b != 0) {
        int t = b;
        b = a % b;
        a = t;
    }
    return a;
}

// 计算最小公倍数的函数,公式为 (a * b) / gcd(a, b)
int lcm(int a, int b) {
    return a * b / gcd(a, b);
}

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

代码说明:

  1. gcd 函数采用了辗转相除法来计算最大公约数,直到余数为 0 为止。
  2. lcm 函数利用了 gcd 函数来计算最小公倍数,公式为 (a * b) / gcd(a, b)。
  3. 在 main 函数中,读取用户输入的两个整数,并调用 gcd 和 lcm 函数输出结果。
相关推荐
努力努力再努力wz13 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节
咩咩啃树皮13 小时前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript
程序员清风13 小时前
算法题中的边界条件、测试与调试
开发语言·算法·kotlin
砚底藏山河13 小时前
python量化实操:冷热分层存储
java·开发语言·python·金融
十五年专注C++开发13 小时前
pybind11:一个跨C++和Python平台的编程库
开发语言·c++·python·pybind11
艾络迅Acceleronix13 小时前
环境监测终端:STM32+EG800Z AT+ 艾络迅平台实战|多传感器采集联动全流程
c语言·stm32·单片机·嵌入式硬件·物联网·1024程序员节
CodeYp201913 小时前
第11讲:stack 和 queue
开发语言·c++·queue·stack
炘爚13 小时前
数据结构算法总结
数据结构·python·算法
Zwawa13 小时前
一只按键不只“按下”:短按、长按和连按如何共存
c语言·单片机·嵌入式
咩咩啃树皮14 小时前
JavaScript 异步流程为什么容易失控?从回调到可维护设计
开发语言·javascript·ecmascript