Last active
September 30, 2016 02:11
-
-
Save fogleman/48696536bc112d729dbf26f22b0cf44a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def sum_factor(x, n, values): | |
if len(values) == n: | |
if x == 0: | |
print values | |
return | |
for i in xrange(x + 1): | |
values.append(i) | |
sum_factor(x - i, n, values) | |
values.pop() | |
sum_factor(10, 4, []) | |
''' | |
Outputs: | |
[0, 0, 0, 10] | |
[0, 0, 1, 9] | |
[0, 0, 2, 8] | |
[0, 0, 3, 7] | |
[0, 0, 4, 6] | |
[0, 0, 5, 5] | |
[0, 0, 6, 4] | |
[0, 0, 7, 3] | |
[0, 0, 8, 2] | |
[0, 0, 9, 1] | |
[0, 0, 10, 0] | |
[0, 1, 0, 9] | |
[0, 1, 1, 8] | |
[0, 1, 2, 7] | |
[0, 1, 3, 6] | |
[0, 1, 4, 5] | |
[0, 1, 5, 4] | |
[0, 1, 6, 3] | |
[0, 1, 7, 2] | |
[0, 1, 8, 1] | |
[0, 1, 9, 0] | |
[0, 2, 0, 8] | |
[0, 2, 1, 7] | |
[0, 2, 2, 6] | |
[0, 2, 3, 5] | |
[0, 2, 4, 4] | |
[0, 2, 5, 3] | |
[0, 2, 6, 2] | |
[0, 2, 7, 1] | |
[0, 2, 8, 0] | |
[0, 3, 0, 7] | |
[0, 3, 1, 6] | |
[0, 3, 2, 5] | |
[0, 3, 3, 4] | |
[0, 3, 4, 3] | |
[0, 3, 5, 2] | |
[0, 3, 6, 1] | |
[0, 3, 7, 0] | |
[0, 4, 0, 6] | |
[0, 4, 1, 5] | |
[0, 4, 2, 4] | |
[0, 4, 3, 3] | |
[0, 4, 4, 2] | |
[0, 4, 5, 1] | |
[0, 4, 6, 0] | |
[0, 5, 0, 5] | |
[0, 5, 1, 4] | |
[0, 5, 2, 3] | |
[0, 5, 3, 2] | |
[0, 5, 4, 1] | |
[0, 5, 5, 0] | |
[0, 6, 0, 4] | |
[0, 6, 1, 3] | |
[0, 6, 2, 2] | |
[0, 6, 3, 1] | |
[0, 6, 4, 0] | |
[0, 7, 0, 3] | |
[0, 7, 1, 2] | |
[0, 7, 2, 1] | |
[0, 7, 3, 0] | |
[0, 8, 0, 2] | |
[0, 8, 1, 1] | |
[0, 8, 2, 0] | |
[0, 9, 0, 1] | |
[0, 9, 1, 0] | |
[0, 10, 0, 0] | |
[1, 0, 0, 9] | |
[1, 0, 1, 8] | |
[1, 0, 2, 7] | |
[1, 0, 3, 6] | |
[1, 0, 4, 5] | |
[1, 0, 5, 4] | |
[1, 0, 6, 3] | |
[1, 0, 7, 2] | |
[1, 0, 8, 1] | |
[1, 0, 9, 0] | |
[1, 1, 0, 8] | |
[1, 1, 1, 7] | |
[1, 1, 2, 6] | |
[1, 1, 3, 5] | |
[1, 1, 4, 4] | |
[1, 1, 5, 3] | |
[1, 1, 6, 2] | |
[1, 1, 7, 1] | |
[1, 1, 8, 0] | |
[1, 2, 0, 7] | |
[1, 2, 1, 6] | |
[1, 2, 2, 5] | |
[1, 2, 3, 4] | |
[1, 2, 4, 3] | |
[1, 2, 5, 2] | |
[1, 2, 6, 1] | |
[1, 2, 7, 0] | |
[1, 3, 0, 6] | |
[1, 3, 1, 5] | |
[1, 3, 2, 4] | |
[1, 3, 3, 3] | |
[1, 3, 4, 2] | |
[1, 3, 5, 1] | |
[1, 3, 6, 0] | |
[1, 4, 0, 5] | |
[1, 4, 1, 4] | |
[1, 4, 2, 3] | |
[1, 4, 3, 2] | |
[1, 4, 4, 1] | |
[1, 4, 5, 0] | |
[1, 5, 0, 4] | |
[1, 5, 1, 3] | |
[1, 5, 2, 2] | |
[1, 5, 3, 1] | |
[1, 5, 4, 0] | |
[1, 6, 0, 3] | |
[1, 6, 1, 2] | |
[1, 6, 2, 1] | |
[1, 6, 3, 0] | |
[1, 7, 0, 2] | |
[1, 7, 1, 1] | |
[1, 7, 2, 0] | |
[1, 8, 0, 1] | |
[1, 8, 1, 0] | |
[1, 9, 0, 0] | |
[2, 0, 0, 8] | |
[2, 0, 1, 7] | |
[2, 0, 2, 6] | |
[2, 0, 3, 5] | |
[2, 0, 4, 4] | |
[2, 0, 5, 3] | |
[2, 0, 6, 2] | |
[2, 0, 7, 1] | |
[2, 0, 8, 0] | |
[2, 1, 0, 7] | |
[2, 1, 1, 6] | |
[2, 1, 2, 5] | |
[2, 1, 3, 4] | |
[2, 1, 4, 3] | |
[2, 1, 5, 2] | |
[2, 1, 6, 1] | |
[2, 1, 7, 0] | |
[2, 2, 0, 6] | |
[2, 2, 1, 5] | |
[2, 2, 2, 4] | |
[2, 2, 3, 3] | |
[2, 2, 4, 2] | |
[2, 2, 5, 1] | |
[2, 2, 6, 0] | |
[2, 3, 0, 5] | |
[2, 3, 1, 4] | |
[2, 3, 2, 3] | |
[2, 3, 3, 2] | |
[2, 3, 4, 1] | |
[2, 3, 5, 0] | |
[2, 4, 0, 4] | |
[2, 4, 1, 3] | |
[2, 4, 2, 2] | |
[2, 4, 3, 1] | |
[2, 4, 4, 0] | |
[2, 5, 0, 3] | |
[2, 5, 1, 2] | |
[2, 5, 2, 1] | |
[2, 5, 3, 0] | |
[2, 6, 0, 2] | |
[2, 6, 1, 1] | |
[2, 6, 2, 0] | |
[2, 7, 0, 1] | |
[2, 7, 1, 0] | |
[2, 8, 0, 0] | |
[3, 0, 0, 7] | |
[3, 0, 1, 6] | |
[3, 0, 2, 5] | |
[3, 0, 3, 4] | |
[3, 0, 4, 3] | |
[3, 0, 5, 2] | |
[3, 0, 6, 1] | |
[3, 0, 7, 0] | |
[3, 1, 0, 6] | |
[3, 1, 1, 5] | |
[3, 1, 2, 4] | |
[3, 1, 3, 3] | |
[3, 1, 4, 2] | |
[3, 1, 5, 1] | |
[3, 1, 6, 0] | |
[3, 2, 0, 5] | |
[3, 2, 1, 4] | |
[3, 2, 2, 3] | |
[3, 2, 3, 2] | |
[3, 2, 4, 1] | |
[3, 2, 5, 0] | |
[3, 3, 0, 4] | |
[3, 3, 1, 3] | |
[3, 3, 2, 2] | |
[3, 3, 3, 1] | |
[3, 3, 4, 0] | |
[3, 4, 0, 3] | |
[3, 4, 1, 2] | |
[3, 4, 2, 1] | |
[3, 4, 3, 0] | |
[3, 5, 0, 2] | |
[3, 5, 1, 1] | |
[3, 5, 2, 0] | |
[3, 6, 0, 1] | |
[3, 6, 1, 0] | |
[3, 7, 0, 0] | |
[4, 0, 0, 6] | |
[4, 0, 1, 5] | |
[4, 0, 2, 4] | |
[4, 0, 3, 3] | |
[4, 0, 4, 2] | |
[4, 0, 5, 1] | |
[4, 0, 6, 0] | |
[4, 1, 0, 5] | |
[4, 1, 1, 4] | |
[4, 1, 2, 3] | |
[4, 1, 3, 2] | |
[4, 1, 4, 1] | |
[4, 1, 5, 0] | |
[4, 2, 0, 4] | |
[4, 2, 1, 3] | |
[4, 2, 2, 2] | |
[4, 2, 3, 1] | |
[4, 2, 4, 0] | |
[4, 3, 0, 3] | |
[4, 3, 1, 2] | |
[4, 3, 2, 1] | |
[4, 3, 3, 0] | |
[4, 4, 0, 2] | |
[4, 4, 1, 1] | |
[4, 4, 2, 0] | |
[4, 5, 0, 1] | |
[4, 5, 1, 0] | |
[4, 6, 0, 0] | |
[5, 0, 0, 5] | |
[5, 0, 1, 4] | |
[5, 0, 2, 3] | |
[5, 0, 3, 2] | |
[5, 0, 4, 1] | |
[5, 0, 5, 0] | |
[5, 1, 0, 4] | |
[5, 1, 1, 3] | |
[5, 1, 2, 2] | |
[5, 1, 3, 1] | |
[5, 1, 4, 0] | |
[5, 2, 0, 3] | |
[5, 2, 1, 2] | |
[5, 2, 2, 1] | |
[5, 2, 3, 0] | |
[5, 3, 0, 2] | |
[5, 3, 1, 1] | |
[5, 3, 2, 0] | |
[5, 4, 0, 1] | |
[5, 4, 1, 0] | |
[5, 5, 0, 0] | |
[6, 0, 0, 4] | |
[6, 0, 1, 3] | |
[6, 0, 2, 2] | |
[6, 0, 3, 1] | |
[6, 0, 4, 0] | |
[6, 1, 0, 3] | |
[6, 1, 1, 2] | |
[6, 1, 2, 1] | |
[6, 1, 3, 0] | |
[6, 2, 0, 2] | |
[6, 2, 1, 1] | |
[6, 2, 2, 0] | |
[6, 3, 0, 1] | |
[6, 3, 1, 0] | |
[6, 4, 0, 0] | |
[7, 0, 0, 3] | |
[7, 0, 1, 2] | |
[7, 0, 2, 1] | |
[7, 0, 3, 0] | |
[7, 1, 0, 2] | |
[7, 1, 1, 1] | |
[7, 1, 2, 0] | |
[7, 2, 0, 1] | |
[7, 2, 1, 0] | |
[7, 3, 0, 0] | |
[8, 0, 0, 2] | |
[8, 0, 1, 1] | |
[8, 0, 2, 0] | |
[8, 1, 0, 1] | |
[8, 1, 1, 0] | |
[8, 2, 0, 0] | |
[9, 0, 0, 1] | |
[9, 0, 1, 0] | |
[9, 1, 0, 0] | |
[10, 0, 0, 0] | |
''' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment