使用Python编写函数求两个整数之间的最简分数

要使用Python编写一个函数,求出两个整数之间的最简分数(即分子与分母都为整数且不可约分的分数),可以采用辗转相除法(也称欧几里得算法)来找到最大公约数(GCD),然后用分子分母分别除以最大公约数得到最简分数。以下是实现步骤和代码示例:

实现步骤

  • 定义一个函数,接收两个整数作为输入参数:分子 numerator 和分母 denominator。
  • 使用辗转相除法计算这两个整数的最大公约数(GCD)。
  • 将分子和分母分别除以它们的最大公约数,得到最简分数的分子和分母。
  • 返回一个包含最简分数分子和分母的元组。

代码示例

def find_simplest_fraction(numerator, denominator):
    def gcd(a, b):
        """辗转相除法求最大公约数"""
        while b:
            a, b = b, a % b
        return a

    # 计算分子分母的最大公约数
    common_divisor = gcd(numerator, denominator)

    # 计算最简分数的分子与分母
    simplest_numerator = numerator // common_divisor
    simplest_denominator = denominator // common_divisor

    return simplest_numerator, simplest_denominator

# 示例:计算 17 * 233333 和 15 * 343720 的最简分数
numerator = 17 * 233333
denominator = 15 * 343720
simplest_fraction = find_simplest_fraction(numerator, denominator)
print(f"最简分数为 {simplest_fraction[0]} / {simplest_fraction[1]}")

在这个示例中,gcd 函数实现了辗转相除法,用于计算两个整数的最大公约数。然后在主函数 find_simplest_fraction 中,先计算分子和分母的最大公约数,再将分子和分母分别除以最大公约数,从而得到最简分数的分子和分母。最后返回一个包含这两个整数的元组。


存档地址:https://www.yuque.com/worthstudy/study/mlfayefqnq6rzdkg?singleDoc# 《使用Python实现求两个整数之间的最简分数》

© 版权声明
THE END
喜欢就点赞支持一下吧,如果觉得不错或日后有所需要,可以收藏文章和关注作者哦。
点赞0打赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容