def makesum(lst, asum, amin, amax): if (asum == 0): print(lst) else: for i in range(amin, min(asum, amax)+1): makesum(lst + [i], asum - i, amin, amax) makesum([], 15, 3, 5)
Standard input is empty
[3, 3, 3, 3, 3] [3, 3, 4, 5] [3, 3, 5, 4] [3, 4, 3, 5] [3, 4, 4, 4] [3, 4, 5, 3] [3, 5, 3, 4] [3, 5, 4, 3] [4, 3, 3, 5] [4, 3, 4, 4] [4, 3, 5, 3] [4, 4, 3, 4] [4, 4, 4, 3] [4, 5, 3, 3] [5, 3, 3, 4] [5, 3, 4, 3] [5, 4, 3, 3] [5, 5, 5]