Задача за 1 wmz, нужна помощь |
Начальные контакты ТОЛЬКО через личку!!
Задача за 1 wmz, нужна помощь |
FIREMAX |
29.11.2012 21:30
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Пол: Мужской Реальное имя: Максим Репутация: 0 |
Последовательность 011212201220200112… строится так: сначала 0, затем повторяется следующее действие: уже написанную часть приписывают справа с заменой 0 на 1, 1 на 2, 2 на 0, т.е.
0->01->0112->01121220->… Составить алгоритм, который по введённому N, (0<=N<=3 000 000 000) определяет, какое число стоит на N-ом месте в последовательности нулей ( за исключением представления числа 0).Используя эту функцию, получить двоичное 1|16-ричное 2 представления данных пяти чисел. |
мисс_граффити |
1.12.2012 12:20
Сообщение
#2
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
думаю, так: длина последовательности - это всегда степень двойки.
берем N. находим минимальную длину последовательности, т.е. такое m, что 2^m>=N. на месте N будет увеличенная на 1 цифра с места (N-2^(m-1)). Так рекурсивно добираемся до первого нуля, считая кол-во шагов. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 3.11.2024 2:07 |