编程题:袋子里有N个球,每次取只能取1个、2个、3个球,请输出所有可能的情况。例如,假设袋子里有4个球,则所有可能情况为:
1 1 1 1
1 2 1
1 3
2 2
3 1
1 1 2
2 1 1
思路:固定第一次取球次数i,然后考虑袋子里有N-i个球的情况。固定第二次取j,考虑N-i-j的情况…递归至袋子里有0个球的情况:打印数列,并pop出最后一个取值。
def takeball(res,ball,arg):
if res<=0:
print(arg)
arg.