Вы — большой любитель бактерий. Вам хочется вырастить немного бактерий в коробочке....

0 голосов
100 просмотров

Вы — большой любитель бактерий. Вам хочется вырастить немного бактерий в коробочке.
Изначально коробочка пуста. Каждое утро можно положить любое количество бактерий в коробочку. Каждую ночь каждая бактерия делится на две бактерии. Когда-нибудь вы надеетесь увидеть ровно x бактерий в коробочке.
Какое минимальное количество бактерий вам суммарно надо положить в коробочку для достижения этой цели?
Входные данные
В единственной строке записано одно целое число x (1 ≤ x ≤ 109) — количество бактерий.
Выходные данные
Единственная строка, содержащая одно целое число — ответ на задачу.


Информатика (17 баллов) | 100 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include #include

int main(void){    int count, result = 0;    scanf ("%d", &count);    while (count)    {        if (count & 1)            result++;        count >>= 1;    }    printf ("%d\n", result);return 0;}

(5.2k баллов)