Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритм] Вавилонская башня


Автор: Vicipi 18.2.2008, 21:56
Сегодня Вася узнал историю о вавилонской башне. Вавилонцы решили построить башню, которая бы достала до неба. Но у них ничего не вышло. Вася предполагает, что это случилось из-за неправильной проектной документации. Вася решил предложить свой проект башни. Она будет расширяться кверху и иметь бесконечное число этажей и комнат. Устроена она следующим образом – на первом этаже одна комната, затем идет два этажа на каждом из которых по две комнаты, затем идет три этажа на каждом из который по три комнаты и так далее. Вася предлагает Пете сыграть в следующую игру. По номеру комнаты N (0 < N < 2000000000) определить номер этажа и порядковый номер комнаты на этаже (считая слева). 

...... 
19 20 21 22 
15 16 17 18 
12 13 14 
9 10 11 
6 7 8 
4 5 
2 3 
1 
Входные данные: число N. 
Выходные данные: два целых числа – номер этажа и порядковый номер комнаты на этаже. 

Пример входных данных №1: 
5 
Пример выходных данных №1: 
3 2 
Пример входных данных №2: 
25 
Пример выходных данных №2: 
9 3 

Автор: SoWa 18.2.2008, 22:05
Тебе так, в прикол, узнать решение Айсиэмовской задачи для 10 класса, или реальн опонять алгоритм хочешь? А на 12 задач подобных давали на 5 или 6 часов. Умник smile
Нужно смотреть в сторону геометрии треуольника и мб в числа фибоначи

Автор: maxdiver 19.2.2008, 14:51
Простое моделирование пройдет.
Делим здание на группы: 1-я группа - 1-й этаж с 1-ой комнатой, 2-я - 2 этажа с 2-мя комнатами, и т.д.
Видно, что кол-во зданий в группе растет как квадрат, поэтому при данных ограничениях спокойно пройдет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)