题解 | #将真分数分解为埃及分数#

将真分数分解为埃及分数

http://www.nowcoder.com/practice/e0480b2c6aa24bfba0935ffcca3ccb7b

from fractions import Fraction 
while True:
    try:
        target = Fraction(input())
        mother = target.denominator
        l = []    #存放埃及分母
        n=2
        while target.numerator != 1:
            if target > Fraction(1,n):
                l.append(str(n))
                target = target - Fraction(1,n)
            if n >= mother:
                n += mother
            else:
                n += 1
        l.append(str(target.denominator))
        print('1/'+'+1/'.join(l))
    except:
        break






# #本题说写出一种分解方法即可。所以8/11可以分解为8个1/11相加
# import sys
# while True:
#     try:
#         z,m = list(map(int, input().split('/')))
#         res = ["1/" + str(m) for _ in range(z)]
#         print("+".join(res))
#     except:
# #         print(sys.exc_info())
#         break









全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 15:37
点赞 评论 收藏
分享
牛客73617529...:无端端被你骂一句
点赞 评论 收藏
分享
程序员小白条:你是沟通了900个,不是投了900份简历,你能投900份,意味着对面都要回复你900次,你早就找到实习了,没亮点就是这样的,别局限地区,时间投的也要早,现在都要7月了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务