Предмет: Информатика, автор: sagaevmasud

Дано положительное целое число. Найдите количество нулей в его двоичной записи.

Формат входных данных
Вводится одно число n (1 ≤ n ≤ 109).

Формат выходных данных
Выведите одно число - количество нулей в двоичной записи числа n.

входные данные выходные данные
5
1
686579304
15


DaniilKirillin: Вообще это Отбор на олимпиадное программирование в МШП, угадал)?

Ответы

Автор ответа: nastikots
2

Ответ:

program z1;

var a,k:integer;

begin

k:=0;

read(a);

while a>0 do

begin

if a mod 2 = 0 then k:=k+1;

a:=a div 2;

end;

write(k)

end.

Объяснение:

Используем цикл с предусловием

Проверяем является ли остаток от деления на 2 нулём, если да, то увеличиваем переменную k на 1

Присваиваем переменной a значение целочисленного деления на 2

Автор ответа: DaniilKirillin
1

Ответ:

n = int(input())

b = ''

while n > 0:

   b = str(n % 2) + b

   n = n // 2

print(b.count('0'))

Объяснение:

n = int(input())

b = ''

while n > 0:

   b = str(n % 2) + b

   n = n // 2

print(b.count('0'))

Похожие вопросы
Предмет: Математика, автор: Аноним
Предмет: Физика, автор: школьник825