#include <stdio.h> #include <stdint.h> uint8_t compress_bits(uint16_t val) { uint8_t num=0; for(int i=15,j=7;i>=0;i--) { if(i==0) { if(((val>>i)&1)==1) { num |=1<<j; j--; } else if(((val>>i)&1)==0) { num &=~(1<<j); j--; } } else if(i%2==0) { if(((val>>i)&1)==1) { num |=1<<j; j--; } else if(((val>>i)&1)==0) { num &=~(1<<j); j--; } } } // Your logic here return num; } 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