📅  最后修改于: 2023-12-03 15:40:41.258000             🧑  作者: Mango
为了求3.5到4.5之间的有理数,我们可以利用以下步骤:
为了方便后续计算,我们需要先找到3.5和4.5的最小公共分母。分母可以选择为10,这样两个数的表示就为35/10和45/10。
从最小公共分母10开始,逐步增加分子,直到分数大于4.5即可停止。具体实现可以写一个while循环:
denominator = 10
numerator = 1
result = []
while numerator < denominator * 5:
fraction = numerator / denominator
if fraction > 4.5:
break
numerator += 1
在上面循环中,我们得到了一系列分数,但是其中只有部分是有理数。如果分子和分母互质,那么这个分数就是一个有理数。
我们可以写一个辅助函数 is_rational_number()
来判断一个分数是否为有理数:
def is_rational_number(numerator, denominator):
for i in range(2, min(numerator, denominator) + 1):
if numerator % i == 0 and denominator % i == 0:
return False
return True
该函数的原理是,如果分子和分母同时为某个数的倍数,那么这个数可以约分,并不是一个最简分数形式,因此不是有理数。
将上面的步骤组合起来,得到完整代码如下:
def is_rational_number(numerator, denominator):
for i in range(2, min(numerator, denominator) + 1):
if numerator % i == 0 and denominator % i == 0:
return False
return True
denominator = 10
numerator = 1
result = []
while numerator < denominator * 5:
fraction = numerator / denominator
if fraction > 4.5:
break
if is_rational_number(numerator, denominator):
result.append(fraction)
numerator += 1
print(result)
输出结果:
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5]