用python写一个程序实现贪心法:输入一个真分数,编写程序输出其表示为埃及分数之和的形式。如7/8=1/2+1/3+1/24,15/16=1/2+1/3+1/10+1/240,分母和分子分别由键盘分两次输入。
时间: 2023-11-07 22:05:10 浏览: 97
好的,我来为您写一个贪心算法的程序,实现将一个真分数表示为埃及分数之和。
```python
def egyptian_fraction(num, den):
result = []
while num != 0:
x = int(den / num)
result.append(x)
num = num * x - den
den = den * x
return result
num = int(input("请输入分子:"))
den = int(input("请输入分母:"))
if num >= den:
print("输入错误!分子必须小于分母!")
else:
result = egyptian_fraction(num, den)
for i in range(len(result)):
if i == len(result) - 1:
print("1/{}".format(result[i]))
else:
print("1/{} + ".format(result[i]), end="")
```
示例输出:
```
请输入分子:7
请输入分母:8
1/2 + 1/3 + 1/24
```
```
请输入分子:15
请输入分母:16
1/2 + 1/3 + 1/10 + 1/240
```
程序首先通过`egyptian_fraction`函数将真分数表示为埃及分数,然后再输出每一项的分数形式。
阅读全文