题解 | #将真分数分解为埃及分数#递归YYDS

将真分数分解为埃及分数

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

每次得到分子为1的分母k = m//n + 1

再把下次进入函数的n和m求出来

def fun(n, m):

if n == 1:
    res.append(m)
    return res
if m % n == 0:
    res.append(m // n)
    return res
while n > 1:
    k = m // n + 1
    res.append(k)
    return fun(n * k - m, m * k)

while True:

try:
    n, m = map(int, input().split('/'))
    res = []
    result = fun(n, m)
    print('1/' + '+1/'.join(map(str, result)))
except:
    break
    
全部评论
10/63直接宕机
1 回复 分享
发布于 2022-05-13 23:58
不懂就问,n * k - m, m * k,这个是怎么算出来的...
1 回复 分享
发布于 2022-03-18 23:16
k为什么是这么求的
点赞 回复 分享
发布于 2024-03-14 21:51 新加坡
很棒
点赞 回复 分享
发布于 2022-07-30 22:28

相关推荐

不愿透露姓名的神秘牛友
07-08 13:05
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
9
3
分享

创作者周榜

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