Pascal
в свободное время r2-d2 и c3-po, чтобы их платы совсем не заржавели, любят задавать друг другу . последняя , которую r2-d2 задал c3-po, называется "подходящие числа". он считает подходящим десятичное число, двоичная запись которого заканчивается не менее чем x нулями. c3-po узнать, сколько таких чисел существует в диапазоне от m до n включительно.

формат ввода

на вход через пробел подаётся три натуральных числа m, n, x (1 ≤ m ≤ n ≤ 1 000 000 000, 0≤ x ≤ 20).

формат вывода

вывести одно целое число – количество целых чисел, удовлетворяющих условию.

пример

ввод вывод

2 30 3

3

andreykakachnov andreykakachnov    1   07.10.2019 10:39    0

Ответы
faceface96 faceface96  10.10.2020 01:22

program DecToBinCount;

uses

 SysUtils, StrUtils;

function DecToBin (m: Integer): string;

var

 r: Integer;

 s: string;

begin

 while (m > 0) do Begin

  r := m mod 2;

  m := m div 2;

  s := IntToStr (r) + s;

 end;

 Result := s;

end;

var

 m, n, x, i, c: Integer;

 s: string;

begin

 Write ('Введите M, N, X: ');

 ReadLn (m, n, x);

 WriteLn;

 c := 0;

 for i := m to n do begin

   s := DecToBin (i);

   if RightStr (s, x) = StringOfChar ('0', x) then begin

     WriteLn (s, ' ');  // для проверки. после тестирования закомментарить

     Inc (c);

   end;

 end;

 WriteLn (c);

 ReadLn;

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика