>>732
↓これの

int count_bits(unsigned int x){
int count = 0;
while (x){
if (x & 1U) count++;
x>>=1;
}

int cout_bits(unsigned int x)
を
int count_bits(int x)
にすると無限ループになるって話じゃないのかな(わかんないけど)?