Для заданных натуральных чисел n и k требуется вычислить количество чисел от 1 до n, имеющих в двоичной записи ровно k едениц. два натуральных числа через пробел n и k, не превышающие 10^9
225
416
Ответы на вопрос:
// 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.
Популярно: Информатика
-
karamendes1p06wtk11.08.2020 17:35
-
TIGER19706.06.2020 09:22
-
ДашаКаськова30.08.2022 15:45
-
ЭллиВейн13.05.2020 07:06
-
Balthazar118.08.2021 23:53
-
ВелмаУмница27.02.2023 22:51
-
noragami200312.04.2021 15:46
-
DeNcHiK123st30.06.2023 01:56
-
кирилл212424.07.2022 01:17
-
Пава130516.11.2020 22:33