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))