题解 | #放苹果#
放苹果
https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf
def count(apple,disk): if apple == 0 or disk == 1: return 1 elif apple < disk: return count(apple,apple) else: return count(apple,disk-1)+count(apple-disk,disk) while True: try: m,n = map(int,input().split()) print(count(m,n)) except: break
当apple>disk时,每个盘子都放苹果和每个盘子都拿下去一个苹果的方法数一致,则count(apple-disk,disk)=count(apple,disk),如果一个盘子不放苹果,那么count(apple,disk-1)=count(apple,disk)