Для данных естественных чисел N и K нужно вычислить количество чисел

Для данных естественных чисел N и K требуется вычислить количество чисел от 1 до N, имеющих в двоичной записи ровно K едениц. два натуральных числа через пробел N и K, не превосходящие 10^9

Задать свой вопрос
1 ответ

// PascalABC.Net

function dec2bin(n: integer): string;

begin

   for var c:=31 downto 0 do

       Result += IntToStr((N shr c) and 1);

end;

function count(b: string; c: char): integer;

begin

   for var i:=1 to length(b) do

       if b[i] = c then

           Result += 1;

end;

begin

   var N:=32;

   var K:=3;

   var sum:=0;

   for var i:=1 to n do

       if count(dec2bin(i), '1') = K then

       begin

           sum += 1;

       end;

   writeln(sum);

end.

Тимур Слыхов
Данная программа не будет входить по медли. Т.к. ограничение до 10^9.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт