fork(1) download
  1. n = 5
  2. a = [0] * n
  3.  
  4.  
  5. def backtrack(i, sum):
  6. if i > 0 and sum > i-1:
  7. return
  8. if i == n:
  9. if sum == n-1:
  10. print(a)
  11. return
  12. for e in range(n-sum):
  13. a[i] = e
  14. backtrack(i + 1, sum+e)
  15.  
  16. backtrack(0, 0)
Success #stdin #stdout 0.02s 9936KB
stdin
Standard input is empty
stdout
[0, 0, 0, 0, 4]
[0, 0, 0, 1, 3]
[0, 0, 0, 2, 2]
[0, 0, 0, 3, 1]
[0, 0, 1, 0, 3]
[0, 0, 1, 1, 2]
[0, 0, 1, 2, 1]
[0, 0, 2, 0, 2]
[0, 0, 2, 1, 1]
[0, 1, 0, 0, 3]
[0, 1, 0, 1, 2]
[0, 1, 0, 2, 1]
[0, 1, 1, 0, 2]
[0, 1, 1, 1, 1]