meisner7
2021-10-28 07:13
采纳率: 65.2%
浏览 52
已结题

python如何返回除数,公约数,倍数

在本练习中,我们将只考虑严格的正整数。

编写一个plus_grand_prime_divisor (n) 函数,返回整数 n 的最大素数除数。
写一个函数pgcd (a, b)返回整数 a 和 b 的最大公约数。
编写一个函数ppcm (a, b)返回 a 和 b 的最小公倍数。
编写一个不可约函数(分子,分母),如果相应的分子/分母分数是不可约的,则返回True,否则返回False。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 广大菜鸟 2021-10-28 09:09
    最佳回答
    def prime(n):
        for i in range(2, int(pow(n, 0.5)) + 1):
            if n % i == 0:
                return False
        return True
    
    
    # plus_grand_prime_divisor (n) 函数,返回整数 n 的最大素数除数。
    # 有可能是n自身
    def plus_grand_prime_divisor(n):
        for i in range(n, 1, -1):  # n -> 2
            if n % i == 0 and prime(i):
                return i
        return -1
    
    
    def pgcd(a, b):
        if a % b == 0:
            return b
        else:
            return pgcd(b, a % b)
    
    
    def ppcm(a, b):
        return a * b / pgcd(a, b)
    
    
    # 一个分子、分母,除1外还有其他公约数的分数,叫做可约分数
    def isReducible(a, b):
        gcdValue = pgcd(a, b)  # 最大公约数
        if gcdValue == 1: #  只考虑严格的正整数,所以gcdValue>=1
            return False
        else:
            return True
    
    
    print(plus_grand_prime_divisor(70))
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题