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 函数中,读取用户输入的两个整数,并调用 gcdlcm 函数输出结果。
相关推荐
探物 AI14 分钟前
机器人清理墙角蜘蛛网,背后需要哪些算法?——从视觉分割到贴墙力控
算法·机器人
自己的九又四分之三站台16 分钟前
C# 接入 RasterLite2:从原生 DLL 加载到 Coverage、Section、Tile 验证
开发语言·c#·地理信息
青 春 记 忆16 分钟前
LeetCode 226. 翻转二叉树|Python 解法详解
python·算法·leetcode
飞翔的火箭弹17 分钟前
企业网络资产管理用什么系统工具
开发语言·网络·php
码云骑士23 分钟前
116-Python调用GPT-4V分析图片-Base64编码-多图-JSON结构化输出
开发语言·python·json
民乐团扒谱机28 分钟前
【微科普】压缩感知(CS):违反了奈奎斯特采样定理?不先采集也能还原信号?大白话讲透稀疏采样、L1重建与OMP,一文吃透附代码
python·神经网络·线性代数·算法·数学建模·压缩感知·奈奎斯特
88号技师29 分钟前
2026年SCI-分数牛顿衍生优化算法Fractional Newton-derived optimizer-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
承渊政道30 分钟前
【Python编程—从入门到实践】(Python操作列表深度教程:循环、切片、元组与代码风格)
开发语言·python·pycharm·列表·元组·切片
布值倒区什么name39 分钟前
Pycharm2026找不到编译器 点击运行运行不了
开发语言·python·pycharm
智购科技自动售货机工厂1 小时前
2026自动售货机电机驱动芯片选型:从L298N到DRV8870的工程实践~YH
大数据·开发语言·数据库·人工智能·单片机·嵌入式硬件·scikit-learn