М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Sekretnova
Sekretnova
21.01.2020 07:54 •  Информатика

Дано положительное целое число. Найдите количество нулей в его двоичной записи. Формат входных данных
Вводится одно число n (1 ≤ n ≤ 109).

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

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

👇
Ответ:
shcherboroma
shcherboroma
21.01.2020

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

4,8(98 оценок)
Ответ:
SaraSmail
SaraSmail
21.01.2020

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'))

4,5(96 оценок)
Открыть все ответы
Ответ:
MisterStickman1
MisterStickman1
21.01.2020
Создаёшь в папке с программой два текстовых файла с именами "1.txt." и "output.txt". В первый записываешь 8 чисел без пробелов и запятых ("22031991", например).

type  matrix = array [1..8] of integer;var  F, output: text;  i, n, cc, sum: integer;  c: char;  x: matrix;  ma: real;
procedure convert (var c: char; var cc: integer);begin  if c='1' then cc:=1;  if c='2' then cc:=2;  if c='3' then cc:=3;  if c='4' then cc:=4;  if c='5' then cc:=5;  if c='6' then cc:=6;  if c='7' then cc:=7;  if c='8' then cc:=8;  if c='9' then cc:=9;  if c='0' then cc:=0;end;
procedure sorting (n: integer; x: matrix);begin  for n:=1 to 7 do begin    if x[n]>x[n+1] then swap(x[n],x[n+1]);  end;end;
begin  Assign(F, '1.txt');  Reset(F);  for i:=1 to 8 do begin    read(F, c);    convert(c,cc);    x[i]:=cc;  end;  Close(F);
  sorting(n,x);  sum:=x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8];  ma:=sum/8;    Assign(output, 'output.txt');  rewrite(output);  writeln(output, sum); writeln(output, ma);  Close(output);end.
4,8(76 оценок)
Ответ:
toonon112
toonon112
21.01.2020
Если вынуть 94 конфет, то будут конфеты всех 3 видов.Пусть у нас по n конфет каждого вида.Тогда может так получиться, что мы вынем 2n конфет, и они будут только 2 видов. И только, вынув (2n+1)-ю конфету, мы получим все три.2n+1 = 942n = 93.Значит, конфет одного и другого вида по [93/2] = 46,а конфет третьего вида 47.Пусть ирисок и леденцов по 46, а шоколадных 47.Вынув 46 ирисок и 46 леденцов (92 конфет), мы получим 2 вида.Вынув 46 ирисок и 47 шоколадных (93), мы получим 2 вида.Вынув 46 леденцов и 47 шоколадных (93), мы получим 2 вида.И только вынув 94-ую (в 1 случае 93 и 94), мы получим 3 вида.ответ: всего конфет было 46 + 46 + 47 = 139.
4,7(94 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ