#include <stdio.h>
#include <stdint.h>
// Define macros here
uint16_t build_register(uint8_t enable, uint8_t mode, uint8_t speed) {
int val = 0;
if (enable == 1){
val = val|(1<<0);
}
if (mode == 1){
val = val|(1<<1);
}else if(mode == 2){
val = val|(1<<2);
}else if(mode == 3){
val = val|(1<<1)|(1<<2);
}
if (speed == 1){
val = val|(1<<3);
}else if(speed == 2){
val = val|(1<<4);
}else if(speed == 4){
val = val|(1<<5);
}else if(speed == 3){
val = val|(1<<3)|(1<<4);
}else if(speed == 5){
val = val|(1<<3)|(1<<5);
}else if(speed == 6){
val = val|(1<<5)|(1<<4);
}else if(speed == 7){
val = val|(1<<3)|(1<<4)|(1<<5);
}
return val;
}
int main() {
uint8_t enable, mode, speed;
scanf("%hhu %hhu %hhu", &enable, &mode, &speed);
uint16_t reg = build_register(enable, mode, speed);
printf("%u", reg);
return 0;
}
Input
1 2 4
Expected Output
37