// output of ./demo/comb/binary-sl-gray-demo.cc: // Description: //% Binary numbers in a minimal-change order //% related so subset-lex order ("SL-Gray" order). //% Representation as delta-sets (binary words). //% Loopless generation, only O(1) data beyond the array of bits. //% Cf. OEIS sequence A217262. arg 1: 6 == n [Number of digits] default=6 0: [ . . . . . . ] .1.... 1 - { } 1: [ 1 . . . . . ] 1..... 0 + { 0 } 2: [ 1 1 . . . . ] .1.... 1 + { 0, 1 } 3: [ 1 1 1 . . . ] ..1... 2 + { 0, 1, 2 } 4: [ 1 1 1 1 . . ] ...1.. 3 + { 0, 1, 2, 3 } 5: [ 1 1 1 1 1 . ] ....1. 4 + { 0, 1, 2, 3, 4 } 6: [ 1 1 1 1 1 1 ] .....1 5 + { 0, 1, 2, 3, 4, 5 } 7: [ 1 1 1 1 . 1 ] ....1. 4 - { 0, 1, 2, 3, 5 } 8: [ 1 1 1 . . 1 ] ...1.. 3 - { 0, 1, 2, 5 } 9: [ 1 1 1 . 1 1 ] ....1. 4 + { 0, 1, 2, 4, 5 } 10: [ 1 1 1 . 1 . ] .....1 5 - { 0, 1, 2, 4 } 11: [ 1 1 . . 1 . ] ..1... 2 - { 0, 1, 4 } 12: [ 1 1 . . 1 1 ] .....1 5 + { 0, 1, 4, 5 } 13: [ 1 1 . . . 1 ] ....1. 4 - { 0, 1, 5 } 14: [ 1 1 . 1 . 1 ] ...1.. 3 + { 0, 1, 3, 5 } 15: [ 1 1 . 1 1 1 ] ....1. 4 + { 0, 1, 3, 4, 5 } 16: [ 1 1 . 1 1 . ] .....1 5 - { 0, 1, 3, 4 } 17: [ 1 1 . 1 . . ] ....1. 4 - { 0, 1, 3 } 18: [ 1 . . 1 . . ] .1.... 1 - { 0, 3 } 19: [ 1 . . 1 1 . ] ....1. 4 + { 0, 3, 4 } 20: [ 1 . . 1 1 1 ] .....1 5 + { 0, 3, 4, 5 } 21: [ 1 . . 1 . 1 ] ....1. 4 - { 0, 3, 5 } 22: [ 1 . . . . 1 ] ...1.. 3 - { 0, 5 } 23: [ 1 . . . 1 1 ] ....1. 4 + { 0, 4, 5 } 24: [ 1 . . . 1 . ] .....1 5 - { 0, 4 } 25: [ 1 . 1 . 1 . ] ..1... 2 + { 0, 2, 4 } 26: [ 1 . 1 . 1 1 ] .....1 5 + { 0, 2, 4, 5 } 27: [ 1 . 1 . . 1 ] ....1. 4 - { 0, 2, 5 } 28: [ 1 . 1 1 . 1 ] ...1.. 3 + { 0, 2, 3, 5 } 29: [ 1 . 1 1 1 1 ] ....1. 4 + { 0, 2, 3, 4, 5 } 30: [ 1 . 1 1 1 . ] .....1 5 - { 0, 2, 3, 4 } 31: [ 1 . 1 1 . . ] ....1. 4 - { 0, 2, 3 } 32: [ 1 . 1 . . . ] ...1.. 3 - { 0, 2 } 33: [ . . 1 . . . ] 1..... 0 - { 2 } 34: [ . . 1 1 . . ] ...1.. 3 + { 2, 3 } 35: [ . . 1 1 1 . ] ....1. 4 + { 2, 3, 4 } 36: [ . . 1 1 1 1 ] .....1 5 + { 2, 3, 4, 5 } 37: [ . . 1 1 . 1 ] ....1. 4 - { 2, 3, 5 } 38: [ . . 1 . . 1 ] ...1.. 3 - { 2, 5 } 39: [ . . 1 . 1 1 ] ....1. 4 + { 2, 4, 5 } 40: [ . . 1 . 1 . ] .....1 5 - { 2, 4 } 41: [ . . . . 1 . ] ..1... 2 - { 4 } 42: [ . . . . 1 1 ] .....1 5 + { 4, 5 } 43: [ . . . . . 1 ] ....1. 4 - { 5 } 44: [ . . . 1 . 1 ] ...1.. 3 + { 3, 5 } 45: [ . . . 1 1 1 ] ....1. 4 + { 3, 4, 5 } 46: [ . . . 1 1 . ] .....1 5 - { 3, 4 } 47: [ . . . 1 . . ] ....1. 4 - { 3 } 48: [ . 1 . 1 . . ] .1.... 1 + { 1, 3 } 49: [ . 1 . 1 1 . ] ....1. 4 + { 1, 3, 4 } 50: [ . 1 . 1 1 1 ] .....1 5 + { 1, 3, 4, 5 } 51: [ . 1 . 1 . 1 ] ....1. 4 - { 1, 3, 5 } 52: [ . 1 . . . 1 ] ...1.. 3 - { 1, 5 } 53: [ . 1 . . 1 1 ] ....1. 4 + { 1, 4, 5 } 54: [ . 1 . . 1 . ] .....1 5 - { 1, 4 } 55: [ . 1 1 . 1 . ] ..1... 2 + { 1, 2, 4 } 56: [ . 1 1 . 1 1 ] .....1 5 + { 1, 2, 4, 5 } 57: [ . 1 1 . . 1 ] ....1. 4 - { 1, 2, 5 } 58: [ . 1 1 1 . 1 ] ...1.. 3 + { 1, 2, 3, 5 } 59: [ . 1 1 1 1 1 ] ....1. 4 + { 1, 2, 3, 4, 5 } 60: [ . 1 1 1 1 . ] .....1 5 - { 1, 2, 3, 4 } 61: [ . 1 1 1 . . ] ....1. 4 - { 1, 2, 3 } 62: [ . 1 1 . . . ] ...1.. 3 - { 1, 2 } 63: [ . 1 . . . . ] ..1... 2 - { 1 } ct=64