Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Чат
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Трубопровод

(Время: 1 сек. Память: 16 Мб Сложность: 60%)

В некоторой корпорации при производстве различных химических веществ используется сложная система трубопроводов для слива отходов. При монтаже трубопровода использовались стандартные элементы, состоящие из двух задвижек, двух входов и одного выхода (рис. 1).

Такие элементы объединяются вместе, как показано на рисунке 2, где изображен трубопровод до 4 уровня. Здесь обозначение Layer – указывает на слой (уровень) задвижек.

Трубопровод

В последующем ограничимся рассмотрением трубопровода до сорокового слоя включительно. Все задвижки в трубопроводе пронумерованы от первого до сорокового слоя. Внутри каждого слоя задвижки пронумерованы слева направо (см. рис. 2).

Напишите программу, которая по заданному порядковому номеру S начальной задвижки определяет и выводит в выходной файл номера всех тех задвижек, которые следует открыть, чтобы осуществить сброс отходов.

Входные данные

Входной файл INPUT.TXT содержит одно целое число S – номер начальной задвижки (1 ≤ S ≤ 433494435).

Выходные данные

Выходной файл OUTPUT.TXT должен содержать последовательность номеров задвижек. Последовательность должна начинаться с числа S и заканчиваться числом 1. Элементы последовательности идут в порядке убывания, разделяются пробелами и (или) символами конца строк.

Примеры

INPUT.TXTOUTPUT.TXT
188 4 2 1
255 2 1
366 3 1
41010 6 3 1

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]

Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483