printРабочее место участника

printЗадачи

1904. Двоично-десятичные числа

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Разряды двоичного числа содержат только цифры 0 и 1. Назовем двоичное число двоично-десятичным, если его значение в десятичной системе счисления совпадает с последними цифрами этого двоичного числа. Например, число `1011_2` является двоично-десятичным, так как `1011_2=11_10`, а это число совпадает с двумя последними разрядами двоичного числа.
Напишите программу, которая для заданного двоичного числа `N` находит количество неотрицательных двоично-десятичных чисел, не превосходящих `N`, и наибольшее из них.
Формат ввода
Ввод содержит одно целое число `N` в двоичной системе счисления (`0\ ≤\ N\ <\ 2^1000`).
Формат вывода
В первой строке вывести сначала наибольшее двоично-десятичное число, не превосходящее `N`, в двоичной системе счисления без ведущих нулей, затем через пробел количество (в десятичной системе счисления) неотрицательных двоично-десятичных чисел, не превосходящих `N`.

Пример ввода

1111

Вывод для примера

1011 4
Двоично-десятичными числами, не превосходящими `1111_2`, являются числа `0_2`, `1_2`, `1010_2`, `1011_2`.
loading