• 获取两数最大公约数和最简整数比


    """
    用辗转相除法求最大公约数的算法如下:
    两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。
    比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约数。
    """
    def gongyue(a, b):
        """
        求最大公约数
        :param a: 第一个数
        :param b: 第二个数
        :return:
        """
        while b != 0:
            temp = a % b
            a, b = b, temp
        return a
    
    
    def zuijianbi(a, b):
        """
        求最简整数比
        :param a:
        :param b:
        :return:
        """
        bigcommon = gongyue(a, b)
        return a//bigcommon, b//bigcommon
    
    
    print("最大公约数:", gongyue(1920, 1080))
    print("最简整数比:", zuijianbi(1920, 1080))
    最大公约数: 120
    最简整数比: (16, 9)

    参考自:https://www.jb51.net/article/180284.htm

  • 相关阅读:
    绿色通道
    Banknotes
    旅行问题
    修剪草坪
    最大连续和
    动物园
    炮兵阵地
    涂抹果酱
    牧场的安排
    国王
  • 原文地址:https://www.cnblogs.com/zhzhang/p/14480525.html
Copyright © 2020-2023  润新知