古埃及数拆分程序

0 Comments

某个人突然发了一道题目让我做,我出了个价,然后就没有然后了。不过我还是做了一下,下面是我的代码:
他看到后能在这里免费拿到代码了,不需要花money了。

"""
  把分数分解来古埃及分数,如4/9可以分解为1/3加上1/9.
  要求分子都是1。这是我的一个解法。
"""
import math

def sub(a,b,c,d):
    """两个分数相减,以二元组表示一个分数"""
    return a*d-c*b,b*d
    
a=int(input('分子:'))
b=int(input('分母:'))
f=a,b

m = 2
lis = []
while True:
    if 1*f[1] > m * f[0]:m=m+1

    elif 1*f[1] == m * f[0]:
        lis.append(m)
        break
    else:
        f = sub(f[0],f[1],1,m)
        lis.append(m)
        
print(lis)

发表评论