zoukankan      html  css  js  c++  java
  • 获取两数最大公约数和最简整数比

    """
    用辗转相除法求最大公约数的算法如下:
    两个正整数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

  • 相关阅读:
    Ubuntu下 实现Linux与Windows的互相复制与粘贴
    bzoj2426
    bzoj1835
    bzoj1197
    bzoj1049
    bzoj2893
    bzoj1820
    bzoj1819
    bzoj1455
    bzoj3689
  • 原文地址:https://www.cnblogs.com/zhzhang/p/14480525.html
Copyright © 2011-2022 走看看