Created
July 28, 2024 08:12
-
-
Save FFY00/a28fed691350f7091ea4e7664fe0f0ae 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 algorithm(n): | |
leading_one_count = len(f'{n:08b}'.split('0')[0]) | |
left = n << (leading_one_count + 1) & 0xff | |
right = n >> (8 - leading_one_count) | |
return flip(left | right) |
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
(00000000) 0: > 255 (11111111) | |
(00000001) 1: > 253 (11111101) | |
(00000010) 2: > 251 (11111011) | |
(00000011) 3: > 249 (11111001) | |
(00000100) 4: > 247 (11110111) | |
(00000101) 5: > 245 (11110101) | |
(00000110) 6: > 243 (11110011) | |
(00000111) 7: > 241 (11110001) | |
(00001000) 8: > 239 (11101111) | |
(00001001) 9: > 237 (11101101) | |
(00001010) 10: > 235 (11101011) | |
(00001011) 11: > 233 (11101001) | |
(00001100) 12: > 231 (11100111) | |
(00001101) 13: > 229 (11100101) | |
(00001110) 14: > 227 (11100011) | |
(00001111) 15: > 225 (11100001) | |
(00010000) 16: > 223 (11011111) | |
(00010001) 17: > 221 (11011101) | |
(00010010) 18: > 219 (11011011) | |
(00010011) 19: > 217 (11011001) | |
(00010100) 20: > 215 (11010111) | |
(00010101) 21: > 213 (11010101) | |
(00010110) 22: > 211 (11010011) | |
(00010111) 23: > 209 (11010001) | |
(00011000) 24: > 207 (11001111) | |
(00011001) 25: > 205 (11001101) | |
(00011010) 26: > 203 (11001011) | |
(00011011) 27: > 201 (11001001) | |
(00011100) 28: > 199 (11000111) | |
(00011101) 29: > 197 (11000101) | |
(00011110) 30: > 195 (11000011) | |
(00011111) 31: > 193 (11000001) | |
(00100000) 32: > 191 (10111111) | |
(00100001) 33: > 189 (10111101) | |
(00100010) 34: > 187 (10111011) | |
(00100011) 35: > 185 (10111001) | |
(00100100) 36: > 183 (10110111) | |
(00100101) 37: > 181 (10110101) | |
(00100110) 38: > 179 (10110011) | |
(00100111) 39: > 177 (10110001) | |
(00101000) 40: > 175 (10101111) | |
(00101001) 41: > 173 (10101101) | |
(00101010) 42: > 171 (10101011) | |
(00101011) 43: > 169 (10101001) | |
(00101100) 44: > 167 (10100111) | |
(00101101) 45: > 165 (10100101) | |
(00101110) 46: > 163 (10100011) | |
(00101111) 47: > 161 (10100001) | |
(00110000) 48: > 159 (10011111) | |
(00110001) 49: > 157 (10011101) | |
(00110010) 50: > 155 (10011011) | |
(00110011) 51: > 153 (10011001) | |
(00110100) 52: > 151 (10010111) | |
(00110101) 53: > 149 (10010101) | |
(00110110) 54: > 147 (10010011) | |
(00110111) 55: > 145 (10010001) | |
(00111000) 56: > 143 (10001111) | |
(00111001) 57: > 141 (10001101) | |
(00111010) 58: 139 (10001011) > 139 (10001011) | |
(00111011) 59: > 137 (10001001) | |
(00111100) 60: > 135 (10000111) | |
(00111101) 61: 133 (10000101) > 133 (10000101) | |
(00111110) 62: > 131 (10000011) | |
(00111111) 63: 129 (10000001) > 129 (10000001) | |
(01000000) 64: 127 (01111111) > 127 (01111111) | |
(01000001) 65: 125 (01111101) > 125 (01111101) | |
(01000010) 66: 123 (01111011) > 123 (01111011) | |
(01000011) 67: > 121 (01111001) | |
(01000100) 68: > 119 (01110111) | |
(01000101) 69: > 117 (01110101) | |
(01000110) 70: > 115 (01110011) | |
(01000111) 71: > 113 (01110001) | |
(01001000) 72: > 111 (01101111) | |
(01001001) 73: > 109 (01101101) | |
(01001010) 74: > 107 (01101011) | |
(01001011) 75: > 105 (01101001) | |
(01001100) 76: > 103 (01100111) | |
(01001101) 77: > 101 (01100101) | |
(01001110) 78: > 99 (01100011) | |
(01001111) 79: > 97 (01100001) | |
(01010000) 80: > 95 (01011111) | |
(01010001) 81: 93 (01011101) > 93 (01011101) | |
(01010010) 82: 91 (01011011) > 91 (01011011) | |
(01010011) 83: 89 (01011001) > 89 (01011001) | |
(01010100) 84: 87 (01010111) > 87 (01010111) | |
(01010101) 85: 85 (01010101) > 85 (01010101) | |
(01010110) 86: > 83 (01010011) | |
(01010111) 87: > 81 (01010001) | |
(01011000) 88: > 79 (01001111) | |
(01011001) 89: > 77 (01001101) | |
(01011010) 90: > 75 (01001011) | |
(01011011) 91: > 73 (01001001) | |
(01011100) 92: > 71 (01000111) | |
(01011101) 93: > 69 (01000101) | |
(01011110) 94: > 67 (01000011) | |
(01011111) 95: > 65 (01000001) | |
(01100000) 96: > 63 (00111111) | |
(01100001) 97: > 61 (00111101) | |
(01100010) 98: > 59 (00111011) | |
(01100011) 99: > 57 (00111001) | |
(01100100) 100: > 55 (00110111) | |
(01100101) 101: > 53 (00110101) | |
(01100110) 102: > 51 (00110011) | |
(01100111) 103: > 49 (00110001) | |
(01101000) 104: > 47 (00101111) | |
(01101001) 105: > 45 (00101101) | |
(01101010) 106: > 43 (00101011) | |
(01101011) 107: > 41 (00101001) | |
(01101100) 108: > 39 (00100111) | |
(01101101) 109: > 37 (00100101) | |
(01101110) 110: > 35 (00100011) | |
(01101111) 111: > 33 (00100001) | |
(01110000) 112: > 31 (00011111) | |
(01110001) 113: > 29 (00011101) | |
(01110010) 114: > 27 (00011011) | |
(01110011) 115: > 25 (00011001) | |
(01110100) 116: > 23 (00010111) | |
(01110101) 117: > 21 (00010101) | |
(01110110) 118: > 19 (00010011) | |
(01110111) 119: > 17 (00010001) | |
(01111000) 120: > 15 (00001111) | |
(01111001) 121: > 13 (00001101) | |
(01111010) 122: > 11 (00001011) | |
(01111011) 123: > 9 (00001001) | |
(01111100) 124: > 7 (00000111) | |
(01111101) 125: > 5 (00000101) | |
(01111110) 126: > 3 (00000011) | |
(01111111) 127: > 1 (00000001) | |
(10000000) 128: > 254 (11111110) | |
(10000001) 129: > 250 (11111010) | |
(10000010) 130: > 246 (11110110) | |
(10000011) 131: > 242 (11110010) | |
(10000100) 132: > 238 (11101110) | |
(10000101) 133: > 234 (11101010) | |
(10000110) 134: > 230 (11100110) | |
(10000111) 135: > 226 (11100010) | |
(10001000) 136: > 222 (11011110) | |
(10001001) 137: > 218 (11011010) | |
(10001010) 138: > 214 (11010110) | |
(10001011) 139: > 210 (11010010) | |
(10001100) 140: > 206 (11001110) | |
(10001101) 141: > 202 (11001010) | |
(10001110) 142: > 198 (11000110) | |
(10001111) 143: > 194 (11000010) | |
(10010000) 144: > 190 (10111110) | |
(10010001) 145: > 186 (10111010) | |
(10010010) 146: > 182 (10110110) | |
(10010011) 147: > 178 (10110010) | |
(10010100) 148: > 174 (10101110) | |
(10010101) 149: > 170 (10101010) | |
(10010110) 150: > 166 (10100110) | |
(10010111) 151: > 162 (10100010) | |
(10011000) 152: > 158 (10011110) | |
(10011001) 153: > 154 (10011010) | |
(10011010) 154: > 150 (10010110) | |
(10011011) 155: > 146 (10010010) | |
(10011100) 156: > 142 (10001110) | |
(10011101) 157: 138 (10001010) > 138 (10001010) | |
(10011110) 158: 134 (10000110) > 134 (10000110) | |
(10011111) 159: 130 (10000010) > 130 (10000010) | |
(10100000) 160: 126 (01111110) > 126 (01111110) | |
(10100001) 161: > 122 (01111010) | |
(10100010) 162: > 118 (01110110) | |
(10100011) 163: > 114 (01110010) | |
(10100100) 164: > 110 (01101110) | |
(10100101) 165: > 106 (01101010) | |
(10100110) 166: > 102 (01100110) | |
(10100111) 167: > 98 (01100010) | |
(10101000) 168: > 94 (01011110) | |
(10101001) 169: 90 (01011010) > 90 (01011010) | |
(10101010) 170: 86 (01010110) > 86 (01010110) | |
(10101011) 171: > 82 (01010010) | |
(10101100) 172: > 78 (01001110) | |
(10101101) 173: > 74 (01001010) | |
(10101110) 174: > 70 (01000110) | |
(10101111) 175: > 66 (01000010) | |
(10110000) 176: > 62 (00111110) | |
(10110001) 177: > 58 (00111010) | |
(10110010) 178: > 54 (00110110) | |
(10110011) 179: > 50 (00110010) | |
(10110100) 180: > 46 (00101110) | |
(10110101) 181: > 42 (00101010) | |
(10110110) 182: > 38 (00100110) | |
(10110111) 183: > 34 (00100010) | |
(10111000) 184: > 30 (00011110) | |
(10111001) 185: > 26 (00011010) | |
(10111010) 186: > 22 (00010110) | |
(10111011) 187: > 18 (00010010) | |
(10111100) 188: > 14 (00001110) | |
(10111101) 189: > 10 (00001010) | |
(10111110) 190: > 6 (00000110) | |
(10111111) 191: > 2 (00000010) | |
(11000000) 192: > 252 (11111100) | |
(11000001) 193: > 244 (11110100) | |
(11000010) 194: > 236 (11101100) | |
(11000011) 195: > 228 (11100100) | |
(11000100) 196: > 220 (11011100) | |
(11000101) 197: > 212 (11010100) | |
(11000110) 198: > 204 (11001100) | |
(11000111) 199: > 196 (11000100) | |
(11001000) 200: > 188 (10111100) | |
(11001001) 201: > 180 (10110100) | |
(11001010) 202: > 172 (10101100) | |
(11001011) 203: > 164 (10100100) | |
(11001100) 204: > 156 (10011100) | |
(11001101) 205: > 148 (10010100) | |
(11001110) 206: > 140 (10001100) | |
(11001111) 207: 132 (10000100) > 132 (10000100) | |
(11010000) 208: 124 (01111100) > 124 (01111100) | |
(11010001) 209: > 116 (01110100) | |
(11010010) 210: > 108 (01101100) | |
(11010011) 211: > 100 (01100100) | |
(11010100) 212: 92 (01011100) > 92 (01011100) | |
(11010101) 213: > 84 (01010100) | |
(11010110) 214: > 76 (01001100) | |
(11010111) 215: > 68 (01000100) | |
(11011000) 216: > 60 (00111100) | |
(11011001) 217: > 52 (00110100) | |
(11011010) 218: > 44 (00101100) | |
(11011011) 219: > 36 (00100100) | |
(11011100) 220: > 28 (00011100) | |
(11011101) 221: > 20 (00010100) | |
(11011110) 222: > 12 (00001100) | |
(11011111) 223: > 4 (00000100) | |
(11100000) 224: > 248 (11111000) | |
(11100001) 225: > 232 (11101000) | |
(11100010) 226: > 216 (11011000) | |
(11100011) 227: > 200 (11001000) | |
(11100100) 228: > 184 (10111000) | |
(11100101) 229: > 168 (10101000) | |
(11100110) 230: > 152 (10011000) | |
(11100111) 231: 136 (10001000) > 136 (10001000) | |
(11101000) 232: > 120 (01111000) | |
(11101001) 233: > 104 (01101000) | |
(11101010) 234: 88 (01011000) > 88 (01011000) | |
(11101011) 235: > 72 (01001000) | |
(11101100) 236: > 56 (00111000) | |
(11101101) 237: > 40 (00101000) | |
(11101110) 238: > 24 (00011000) | |
(11101111) 239: > 8 (00001000) | |
(11110000) 240: > 240 (11110000) | |
(11110001) 241: > 208 (11010000) | |
(11110010) 242: > 176 (10110000) | |
(11110011) 243: > 144 (10010000) | |
(11110100) 244: > 112 (01110000) | |
(11110101) 245: > 80 (01010000) | |
(11110110) 246: > 48 (00110000) | |
(11110111) 247: > 16 (00010000) | |
(11111000) 248: > 224 (11100000) | |
(11111001) 249: > 160 (10100000) | |
(11111010) 250: > 96 (01100000) | |
(11111011) 251: > 32 (00100000) | |
(11111100) 252: > 192 (11000000) | |
(11111101) 253: > 64 (01000000) | |
(11111110) 254: 128 (10000000) > 128 (10000000) | |
(11111111) 255: > 0 (00000000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment