Есть ответ 👍

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

225
416
Посмотреть ответы 2

Ответы на вопрос:

amazonka101
4,6(76 оценок)

// 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.


Используется сочетание клавиш ctrl+c

Популярно: Информатика