题解 | #放苹果#
放苹果
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))