Дано положительное целое число. Найдите количество нулей в его двоичной записи. Формат входных данных
Вводится одно число n (1 ≤ n ≤ 109).
Формат выходных данных
Выведите одно число - количество нулей в двоичной записи числа n.
входные данные выходные данные
5
1
686579304
15
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
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'))