最大公约数与最小公倍数

最大公约数
//更相减损法
def func(num1, num2):
    while True:
        if num1 > num2:
            num1 -= num2
        elif num1 < num2:
            num2 -= num1
         else:
            return num1
--------------------------
gcd(a, b) = gcd(b, a mod b)
递归算法:
def gcd(x, y):
    if y == 0:
        return x
    return gcd(y, x % y)
-----------------------
return gcd(y, x % y) if y else x
-----------------------
最小公倍数
//利用 最小公倍数 = 两个数乘积 / 最大公约数
//最小公倍数记为[a, b]
//最大公约数记为(a, b)
//定理: (a, b) * [a, b] = ab
def func(num1, num2):
    num_mul = num1 * num2
    while True:
        if num1 > num2:
            num1 -= num2
        elif num1 < num2:
            num2 -= num1
        else:
            return int(num_mul / num1)

posted @   电院院长  阅读(47)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示