题解 | #放苹果#

放苹果

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

HJ61 放苹果

思路:

看了下其他uu的分析,借用公式写的~
step1:创建函数,首先设置边界,如果m<0或者n<=0,返回错误;如果m==0并且n>=1,只有一种可能;如果n==1,也是只有一种可能;其他情况下,回调fn(m,n-1) + fn(m-n,n);
输入两个整型的数,且空格分开,输出打印执行函数的结果

代码如下:

def fn(m,n):
    if m < 0 or n <= 0:
        return False
    elif m == 0 and n >= 1:
        return 1
    elif n == 1:
        return 1
    else:
        return fn(m,n-1) + fn(m-n,n)

m,n = list(map(int,input().split()))
print(fn(m,n))
全部评论
有bug,当n>m时,如输入 3 7
点赞 回复 分享
发布于 2022-03-18 18:14

相关推荐

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