Python程序:找到最接近目标分数的有效分数
Python程序:找到最接近目标分数的有效分数
本程序旨在帮助您找到与目标分数最接近的分数,该分数的分母不超过您指定的最大值。
程序逻辑
- 获取用户输入: 程序首先会要求您输入三个值:
- x:目标分数的分子
- y:目标分数的分母
- n:最大分母值
- 生成分数列表: 程序会生成一个分数列表,其中包含所有分母不超过n的分数。
- 寻找最接近的分数: 程序会遍历分数列表,找到与目标分数最接近的分数。
- 输出结果: 程序会打印出找到的最接近分数的结果。
完整程序代码
def find_closest_fraction(x, y, n):
fractions = []
# 找到所有不超过n的分母,并计算对应的分数
for denominator in range(1, n+1):
numerator = int((x / y) * denominator)
fraction = numerator / denominator
fractions.append((numerator, denominator, fraction))
# 遍历分数列表,找到与目标分数x / y最接近的分数
closest_fraction = fractions[0]
min_difference = abs(x / y - closest_fraction[2])
for fraction in fractions[1:]:
difference = abs(x / y - fraction[2])
if difference < min_difference:
closest_fraction = fraction
min_difference = difference
return closest_fraction
# 获取用户输入
x = int(input('请输入x的值:'))
y = int(input('请输入y的值:'))
n = int(input('请输入n的值:'))
closest_fraction = find_closest_fraction(x, y, n)
print(f'与分数{x} / {y}最接近的分数是 {closest_fraction[0]} / {closest_fraction[1]}')
使用指南
- 复制粘贴上述代码到您的Python编辑器中。
- 运行程序。
- 按照提示输入x、y和n的值。
- 程序会输出与您输入的目标分数最接近的分数。
示例
假设您要找到与分数3/4最接近的分数,最大分母为10。
输入:
- x = 3
- y = 4
- n = 10
输出:
与分数3 / 4最接近的分数是 7 / 10
本程序可帮助您轻松找到与目标分数最接近的分数,无论您需要解决什么数学问题或编程任务。
原文地址: https://www.cveoy.top/t/topic/WMO 著作权归作者所有。请勿转载和采集!