• 两种求最大公约数和最小公倍数的方法


    def hu(n1,n2):
        if n1 < n2:
            n1,n2 = n2,n1
        while n2:
            n1,n2 = n2,n1%n2
        return n1
    
    def min(n1,n2):
        if n1 < n2:
            n1,n2 = n2,n1
        x = n1 * n2
        while n2:
            n1,n2 = n2,n1%n2
        return x//n1
    
    a = 5
    b = 10
    
    print(hu(a,b))
    print(min(a,b))

    这是一种较为简便的算法,通过判断两个数字的大小进行置换,置换后进行求模赋值,当n2参数为假时,n1的值就是最大公约数了,最小公倍数的值通过两个数相乘在除以最大公约数就可以了。

    def hcf(x, y):
        """该函数返回两个数的最大公约数"""
    
        # 获取最小值
        if x > y:
            smaller = y
        else:
            smaller = x
    
        for i in range(1, smaller + 1):
            if ((x % i == 0) and (y % i == 0)):
                hcf = i
                print(hcf)
    
        return hcf
    
    
    # 用户输入两个数字
    num1 = int(input("输入第一个数字: "))
    num2 = int(input("输入第二个数字: "))
    
    print(num1, "", num2, "的最大公约数为", hcf(num1, num2))

    这种算法是求最大公约数,判断两个数字的大小,然后遍历1到smaller的数字,通过判断哪个数字能够同时满足两个数字取模都为0,然后在便利范围结束的时候返回的值就是能同时满足条件的最大值,这个值就是两个数字的最大公约数。

  • 相关阅读:
    Git 使用记录
    AngularJS $http返回的数据类型
    angularJS 使用$http 出现 $http.get(...).success is not a function
    JS数组及其方法(slice,contact...)
    HTML5的localStorage和sessionStorage
    promise async await 结合 demo2
    promise async await 结合 demo1
    git 命令
    git
    new 优先级的题目
  • 原文地址:https://www.cnblogs.com/s-1314-521/p/9770786.html
Copyright © 2020-2023  润新知