📜  找出 36 和 34 之间的三个有理数(1)

📅  最后修改于: 2023-12-03 15:10:04.899000             🧑  作者: Mango

找出 36 和 34 之间的三个有理数
介绍

本程序用于找出两个数之间的三个有理数,其输入参数包括两个数上限和下限,输出结果为三个有理数。

输入

参数为两个数上限和下限,如找出36和34之间的三个有理数,参数为:

lower_bound = 34
upper_bound = 36
输出

输出三个有理数,其对应的分母是一样的。

输出为:

[17/2, 35/4, 18/2]

其中,17/2为中间的有理数,35/4和18/2为两边的有理数。

代码实现
from fractions import Fraction

def find_three_rational_nums(lower_bound, upper_bound):
    # 获取最小公约数
    lcm = Fraction(lower_bound).denominator * Fraction(upper_bound).denominator

    # 计算每个有理数的分子
    mid = (lower_bound + upper_bound) / 2
    mid_num = Fraction(mid * lcm).numerator

    left = ((2 * lower_bound) + upper_bound) / 3
    left_num = Fraction(left * lcm).numerator

    right = (lower_bound + (2 * upper_bound)) / 3
    right_num = Fraction(right * lcm).numerator

    # 返回三个有理数
    return [Fraction(mid_num, lcm), Fraction(left_num, lcm), Fraction(right_num, lcm)]

# 执行
lower_bound = 34
upper_bound = 36
result = find_three_rational_nums(lower_bound, upper_bound)
print(result)
总结

本程序用于求两个数之间的三个有理数,其实现方式包括计算最小公倍数、计算每个有理数的分子和输出三个有理数。