![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]()
В центре мира в вершинах равностороннего треугольника в землю вбиты три алмазных шпиля. На одном из них надето 64 золотых диска убывающих радиусов (самый большой – нижний). Трудолюбивые буддийские монахи день и ночь переносят диски с одного шпиля на другой. При этом, диски следует переносить по одному и нельзя класть больший диск на меньший. Когда все диски перенесут на другой шпиль, наступит конец света (задачу и рассказ придумал математик Эдуар Люка в 1883 г.).
В общем алгоритм уже реализован, в программе Lazarus, на языке Pascal, вот только нужно сделать несколько тестов, точнее измерить время выполнения алгоритма, в зависимости от количества колец. Вопрос такой, с помощью каких функций или процедур можно это сделать, и какие может быть модули надо подключить и как это сделать... |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]()
Вот пробовал как здесь http://programmersforum.ru/showthread.php?t=34353
Но не могу декларировать такую переменную ticks : LongInt absolute 0:$46c; Выдает ошибку синтаксиса... |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 08.06.2011
Сообщений: 693
|
![]()
Если каждую секунду будет перемещаться одно кольцо, то операция будет выполнена за 18 446 744 073 709 551 616 секунд. (2^64).
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]()
Ну у меня такая задача, тут уж я ничего не могу поделать, нужно точно знать время выполнения программы, то есть если на 10 кольцах, это неощутимо, то на 64 кольцах, я ждал минут 40, потом мне надоело и я выключил. Вот теперь надо опять включить, только на этот раз замерить.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]()
Вот я в принципе понял как можно замерить время с помощью системных тиков, только не знаю как можно получить доступ к этой ячейке $0000:$046c вот както так она выглядит. Или так $0040:$006C, я точно не знаю...
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 17.08.2012
Сообщений: 23
|
![]()
Ну, я не сильно еще разбираюсь, но скажу так, у меня стоит Windows XP, пишу в программе Lazarus, вот мне надо замерить там пару вариантов и просто потом я в таблице это выведу в отчете. То есть надо чтобы этот exe-шник на XP работал, надеюсь я правильно вас понял.
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal задача.нужно решение | Avelhar | Помощь студентам | 7 | 21.05.2012 12:25 |
Время выполнения | n00n | Общие вопросы C/C++ | 7 | 10.06.2010 15:05 |
Время выполнения | Goodwin98 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 16 | 21.06.2009 08:41 |
необходимо засечь время выполнения части алгоритма | Lord Lex | Win Api | 12 | 03.03.2009 21:36 |
Рекурсивное решение задачи о Ханойских Башнях | bullvinkle | Помощь студентам | 2 | 01.04.2008 13:09 |