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

Ответы 2

  • Данная программа не будет заходить по времени. Т.к. ограничение до 10^9.
  • // 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.

    • Автор:

      valeriano
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years