Легкая задача и Жарасхан Легкая задача
Жарасхан очень любит решать
сложные задачи, но иногда ему
дается нелегко, когда надо решать
легкую задачу :D
Дается число, нужно
найти минимальное следующее
число, которое строго больше
текущего числа и состоит из
уникальных чисел.
Жоре решить эту легкую
задачу.
Входные данные:
(1000 Sys 9000)
Выходные данные:
Вывод числа, которое сторого
больше текущего числа и состоит из
уникальных чисел.
пример 1
ввод:2013
вывод:2014
пример 2
ввод:234
вывод:1235
пример 3
ввод:4572
вывод4573
Объяснение:
Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.
Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».