题解 | #放苹果#

放苹果

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

#模仿大佬思路,盘子和苹果其中一个为0或1时都是一种解法,然后分别从m>n以及m<n出发,m>n或m=n则用
#盘子数-1的想法往下递归,m<n则用n=m的想法递归
def apple(m,n):
    if m < 0&nbs***bsp;n < 0:
        return 0
    elif m == 0&nbs***bsp;n == 0:
        return 1
    elif m == 1&nbs***bsp;n == 1:
        return 1
    else :
        return apple(m-n, n) + apple(m, n-1)
    
while True:
    try:
        m ,n = map(int, input().split())#同一行输入,且有空格时的写法
        if m >= n:
            print(apple(m, n))
        else:
            print(apple(m,m))
    except:
        break

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务