#include <stdio.h> #include <stdint.h> uint8_t compress_bits(uint16_t val) { uint8_t reg=0, res; for(int i=0; i<16; i++) { if(i%2==0) { reg <<= 1; reg |= (val & 1); } val >>= 1; } for(int i=0; i<8; i++) { res <<=1; res |= (reg & 1); reg >>=1; } return res; } int main() { uint16_t val; scanf("%hu", &val); uint8_t result = compress_bits(val); printf("%u", result); return 0; }
Test Cases
Test Results
Input
20548
Expected Output
202