// output of ./demo/comb/composition-nz-gray-rec-demo.cc: // Description: //% Compositions of n into positive parts. //% Gray code with moves of only one unit, all moves are one-close or //% two-close, two-close moves always cross a part =1 and all moves are //% at the end, involving the last element. //% Recursive algorithm. arg 1: 7 == n [compositions of n] default=7 arg 2: 0 == bq [whether to generate backward order] default=0 forward: 0: [ 7 ] 1: [ 6 1 ] 2: [ 5 1 1 ] 3: [ 5 2 ] 4: [ 4 3 ] 5: [ 4 2 1 ] 6: [ 4 1 1 1 ] 7: [ 4 1 2 ] 8: [ 3 1 3 ] 9: [ 3 1 2 1 ] 10: [ 3 1 1 1 1 ] 11: [ 3 1 1 2 ] 12: [ 3 2 1 1 ] 13: [ 3 2 2 ] 14: [ 3 3 1 ] 15: [ 3 4 ] 16: [ 2 5 ] 17: [ 2 4 1 ] 18: [ 2 3 1 1 ] 19: [ 2 3 2 ] 20: [ 2 2 3 ] 21: [ 2 2 2 1 ] 22: [ 2 2 1 1 1 ] 23: [ 2 2 1 2 ] 24: [ 2 1 1 3 ] 25: [ 2 1 1 2 1 ] 26: [ 2 1 1 1 1 1 ] 27: [ 2 1 1 1 2 ] 28: [ 2 1 2 1 1 ] 29: [ 2 1 2 2 ] 30: [ 2 1 3 1 ] 31: [ 2 1 4 ] 32: [ 1 1 5 ] 33: [ 1 1 4 1 ] 34: [ 1 1 3 1 1 ] 35: [ 1 1 3 2 ] 36: [ 1 1 2 3 ] 37: [ 1 1 2 2 1 ] 38: [ 1 1 2 1 1 1 ] 39: [ 1 1 2 1 2 ] 40: [ 1 1 1 1 3 ] 41: [ 1 1 1 1 2 1 ] 42: [ 1 1 1 1 1 1 1 ] 43: [ 1 1 1 1 1 2 ] 44: [ 1 1 1 2 1 1 ] 45: [ 1 1 1 2 2 ] 46: [ 1 1 1 3 1 ] 47: [ 1 1 1 4 ] 48: [ 1 2 1 3 ] 49: [ 1 2 1 2 1 ] 50: [ 1 2 1 1 1 1 ] 51: [ 1 2 1 1 2 ] 52: [ 1 2 2 1 1 ] 53: [ 1 2 2 2 ] 54: [ 1 2 3 1 ] 55: [ 1 2 4 ] 56: [ 1 3 3 ] 57: [ 1 3 2 1 ] 58: [ 1 3 1 1 1 ] 59: [ 1 3 1 2 ] 60: [ 1 4 1 1 ] 61: [ 1 4 2 ] 62: [ 1 5 1 ] 63: [ 1 6 ]