Вы — большой любитель бактерий. Вам хочется вырастить немного бактерий в коробочке. Изначально коробочка пуста. Каждое утро можно положить любое количество бактерий в коробочку. Каждую ночь каждая бактерия делится на две бактер...
Вы — большой любитель бактерий. Вам хочется вырастить немного бактерий в коробочке.
Изначально коробочка пуста. Каждое утро можно положить любое количество бактерий в коробочку. Каждую ночь каждая бактерия делится на две бактерии. Когда-нибудь вы надеетесь увидеть ровно x бактерий в коробочке.
Какое минимальное количество бактерий вам суммарно надо положить в коробочку для достижения этой цели?
Входные данные
В единственной строке записано одно целое число x (1 ≤ x ≤ 109) — количество бактерий.
Выходные данные
Единственная строка, содержащая одно целое число — ответ на задачу.
Ответ(ы) на вопрос:
#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;}
Не нашли ответ?
Похожие вопросы