
#include <stdio.h>
#include <stdint.h>
uint16_t spread_bits(uint8_t val) {
// Your logic here
uint16_t x = val;
x = (x | (x << 4)) & 0x0f0f; // Step 1: Create 4-zero gaps
x = (x | (x << 2)) & 0x3333; // Step 2: Create 2-zero gaps
x = (x | (x << 1)) & 0x5555; // Step 3: Create 1-zero gaps
return x;
}
int main() {
uint8_t val;
scanf("%hhu", &val);
uint16_t result = spread_bits(val);
printf("%u", result);
return 0;
}#include <stdio.h>
#include <stdint.h>
uint16_t spread_bits(uint8_t val) {
// Your logic here
uint16_t result = 0;
for (int i = 0; i < 8; i++) {
result |= ((val >> i) & 1) << (2 * i);
}
return result;
}
int main() {
uint8_t val;
scanf("%hhu", &val);
uint16_t result = spread_bits(val);
printf("%u", result);
return 0;
}