#include <stdio.h>
#include <stdint.h>
uint8_t i=0; // 0 1 3 7 15
uint8_t mass[10] = {0b00000000, 0b00000001, 0b00000011, 0b00000111, 0b00001111,
// 31 63 127 255 255
0b00011111, 0b00111111, 0b01111111, 0b11111111, 0b11111111
};
uint8_t reverse (uint8_t d)
{
uint8_t a, b;
static const uint8_t revTable[] = {
255, 254, 253, 252, 251, 250, 249, 248,
247, 246, 245, 244, 243, 242, 241, 240,
239, 238, 237, 236, 235, 234, 233, 232,
231, 230, 229, 228, 227, 226, 225, 224,
223, 222, 221, 220, 219, 218, 217, 216,
215, 214, 213, 212, 211, 210, 209, 208,
207, 206, 205, 204, 203, 202, 201, 200,
199, 198, 197, 196, 195, 194, 193, 192,
191, 190, 189, 188, 187, 186, 185, 184,
183, 182, 181, 180, 179, 178, 177, 176,
175, 174, 173, 172, 171, 170, 169, 168,
167, 166, 165, 164, 163, 162, 161, 160,
159, 158, 157, 156, 155, 154, 153, 152,
151, 150, 149, 148, 147, 146, 145, 144,
143, 142, 141, 140, 139, 138, 137, 136,
135, 134, 133, 132, 131, 130, 129, 128,
127, 126, 125, 124, 123, 122, 121, 120,
119, 118, 117, 116, 115, 114, 113, 112,
111, 110, 109, 108, 107, 106, 105, 104,
103, 102, 101, 100, 99, 98, 97, 96,
95, 94, 93, 92, 91, 90, 89, 88,
87, 86, 85, 84, 83, 82, 81, 80,
79, 78, 77, 76, 75, 74, 73, 72,
71, 70, 69, 68, 67, 66, 65, 64,
63, 62, 61, 60, 59, 58, 57, 56,
55, 54, 53, 52, 51, 50, 49, 48,
47, 46, 45, 44, 43, 42, 41, 40,
39, 38, 37, 36, 35, 34, 33, 32,
31, 30, 29, 28, 27, 26, 25, 24,
23, 22, 21, 20, 19, 18, 17, 16,
15, 14, 13, 12, 11, 10, 9, 8,
7, 6, 5, 4, 3, 2, 1, 0
};
a = d >> 4;
a = revTable[a];
b = d & 0x0F;
b = revTable[b];
return (a | b);
}
int main(void) {
// your code goes here
// for(i=0; i<(sizeof(mass)/2); i++){
// uint8_t q = mass[i];
// mass[i] = mass[sizeof(mass)-1-i];
// mass[sizeof(mass)-1-i] = q;
// }
for(i=0; i<10; i++){
mass[i] = reverse (mass[i]);
}
for(i=0; i<10; i++){
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KdWludDhfdCBpPTA7CQkvLyAwCQkJMQkJCTMJCQk3CQkJMTUKdWludDhfdCBtYXNzWzEwXSA9IHswYjAwMDAwMDAwLCAwYjAwMDAwMDAxLCAwYjAwMDAwMDExLCAwYjAwMDAwMTExLCAwYjAwMDAxMTExLAovLwkJCTMxCQkJNjMJCQkxMjcJCQkyNTUJCQkyNTUKCQkwYjAwMDExMTExLCAwYjAwMTExMTExLCAwYjAxMTExMTExLCAwYjExMTExMTExLCAwYjExMTExMTExCn07CnVpbnQ4X3QgcmV2ZXJzZSAodWludDhfdCBkKQp7Cgl1aW50OF90IGEsIGI7CglzdGF0aWMgY29uc3QgdWludDhfdCByZXZUYWJsZVtdID0gewoJMjU1LCAyNTQsIDI1MywgMjUyLCAyNTEsIDI1MCwgMjQ5LCAyNDgsCiAgIDI0NywgMjQ2LCAyNDUsIDI0NCwgMjQzLCAyNDIsIDI0MSwgMjQwLAogICAyMzksIDIzOCwgMjM3LCAyMzYsIDIzNSwgMjM0LCAyMzMsIDIzMiwKICAgMjMxLCAyMzAsIDIyOSwgMjI4LCAyMjcsIDIyNiwgMjI1LCAyMjQsCiAgIDIyMywgMjIyLCAyMjEsIDIyMCwgMjE5LCAyMTgsIDIxNywgMjE2LAogICAyMTUsIDIxNCwgMjEzLCAyMTIsIDIxMSwgMjEwLCAyMDksIDIwOCwKICAgMjA3LCAyMDYsIDIwNSwgMjA0LCAyMDMsIDIwMiwgMjAxLCAyMDAsCiAgIDE5OSwgMTk4LCAxOTcsIDE5NiwgMTk1LCAxOTQsIDE5MywgMTkyLAogICAxOTEsIDE5MCwgMTg5LCAxODgsIDE4NywgMTg2LCAxODUsIDE4NCwKICAgMTgzLCAxODIsIDE4MSwgMTgwLCAxNzksIDE3OCwgMTc3LCAxNzYsCiAgIDE3NSwgMTc0LCAxNzMsIDE3MiwgMTcxLCAxNzAsIDE2OSwgMTY4LAogICAxNjcsIDE2NiwgMTY1LCAxNjQsIDE2MywgMTYyLCAxNjEsIDE2MCwKICAgMTU5LCAxNTgsIDE1NywgMTU2LCAxNTUsIDE1NCwgMTUzLCAxNTIsCiAgIDE1MSwgMTUwLCAxNDksIDE0OCwgMTQ3LCAxNDYsIDE0NSwgMTQ0LAogICAxNDMsIDE0MiwgMTQxLCAxNDAsIDEzOSwgMTM4LCAxMzcsIDEzNiwKICAgMTM1LCAxMzQsIDEzMywgMTMyLCAxMzEsIDEzMCwgMTI5LCAxMjgsCiAgIDEyNywgMTI2LCAxMjUsIDEyNCwgMTIzLCAxMjIsIDEyMSwgMTIwLAogICAxMTksIDExOCwgMTE3LCAxMTYsIDExNSwgMTE0LCAxMTMsIDExMiwKICAgMTExLCAxMTAsIDEwOSwgMTA4LCAxMDcsIDEwNiwgMTA1LCAxMDQsCiAgIDEwMywgMTAyLCAxMDEsIDEwMCwgIDk5LCAgOTgsICA5NywgIDk2LAogICAgOTUsICA5NCwgIDkzLCAgOTIsICA5MSwgIDkwLCAgODksICA4OCwKICAgIDg3LCAgODYsICA4NSwgIDg0LCAgODMsICA4MiwgIDgxLCAgODAsCiAgICA3OSwgIDc4LCAgNzcsICA3NiwgIDc1LCAgNzQsICA3MywgIDcyLAogICAgNzEsICA3MCwgIDY5LCAgNjgsICA2NywgIDY2LCAgNjUsICA2NCwKICAgIDYzLCAgNjIsICA2MSwgIDYwLCAgNTksICA1OCwgIDU3LCAgNTYsCiAgICA1NSwgIDU0LCAgNTMsICA1MiwgIDUxLCAgNTAsICA0OSwgIDQ4LAogICAgNDcsICA0NiwgIDQ1LCAgNDQsICA0MywgIDQyLCAgNDEsICA0MCwKICAgIDM5LCAgMzgsICAzNywgIDM2LCAgMzUsICAzNCwgIDMzLCAgMzIsCiAgICAzMSwgIDMwLCAgMjksICAyOCwgIDI3LCAgMjYsICAyNSwgIDI0LAogICAgMjMsICAyMiwgIDIxLCAgMjAsICAxOSwgIDE4LCAgMTcsICAxNiwKICAgIDE1LCAgMTQsICAxMywgIDEyLCAgMTEsICAxMCwgICA5LCAgIDgsCiAgICAgNywgICA2LCAgIDUsICAgNCwgICAzLCAgIDIsICAgMSwgICAwCgl9OwoJYSA9IGQgPj4gNDsKCWEgPSByZXZUYWJsZVthXTsKCWIgPSBkICYgMHgwRjsKCWIgPSByZXZUYWJsZVtiXTsKCXJldHVybiAoYSB8IGIpOwp9CmludCBtYWluKHZvaWQpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKLy8JZm9yKGk9MDsgaTwoc2l6ZW9mKG1hc3MpLzIpOyBpKyspewovLwkJdWludDhfdCBxID0gbWFzc1tpXTsKLy8JCW1hc3NbaV0gPSBtYXNzW3NpemVvZihtYXNzKS0xLWldOwovLwkJbWFzc1tzaXplb2YobWFzcyktMS1pXSA9IHE7Ci8vCX0KCWZvcihpPTA7IGk8MTA7IGkrKyl7CgkJbWFzc1tpXSA9IHJldmVyc2UgKG1hc3NbaV0pOwoJfQoKCglmb3IoaT0wOyBpPDEwOyBpKyspewoJCXByaW50ZigiJWQiLCBtYXNzW2ldKTsKCQlwcmludGYoIiwiKTsKCX0KCXJldHVybiAwOwp9Cg==