所以我制作了一个python3程序,它给出了正常分数的埃及分数。
XML
当然现在它可以工作,但循环永远不会结束, 我能做些什么来结束它?
我想出了一些东西,但这不起作用。
fraction = (int(input())/int(input()))
i = 1
while True:
if fraction > (1/i):
print(i)
fraction = fraction - (1/i)
i += 1
答案 0 :(得分:2)
我有三个建议。
fractions
模块,因为浮点数不能提供所需的精确度。while
循环终止。if
条件更改为“> =”而不是“>”。
from fractions import Fraction
f = Fraction(int(input()), int(input()))
i = 1
while f > 0:
if f >= Fraction(1,i):
print(i)
f -= Fraction(1,i)
i += 1