Калькулятор - алгоритм?

User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

Win32nipuh wrote:
A. Fig Lee wrote:По мотивам Вашего предыдущего выступления с деревьями... :pain1:
Строки надо пушать на стек ясен пень.


Да, извините, это разные задачи...

Кстати, по мотивам рпедыдущего выступления по поводу деревьев: реализовал ДНФ, красотища :D , понравилось "лазить по деревьям".


а чем дерево лучше?
Скорость? Меньше памяти ест? Проще? Мне кажется единственно - оно ближе к пониманию.
Верить нельзя никому - даже себе. Мне - можно!
vaduz
Уже с Приветом
Posts: 27652
Joined: 15 Jul 2002 17:05
Location: MD

Post by vaduz »

А чё мучаться-то? Взять BigInteger из Java да декомпильнуть, всего делов-то.
Hamster
Уже с Приветом
Posts: 11475
Joined: 20 Nov 2000 10:01
Location: Escondido, CA

Post by Hamster »

Или пойти на топкодер, Invitational 2001 Semifinals C+D, hardest
Правда, небольшая проблема - только одна успешная submission, и та на Яве. У меня было рабочее решение, но оно где-то потерялось. Придется искать в practice room'е.
User avatar
Isaev
Уже с Приветом
Posts: 279
Joined: 11 Jul 2002 22:21
Location: Palo Alto, CA

Post by Isaev »

A. Fig Lee wrote:
Win32nipuh wrote:Кстати, по мотивам рпедыдущего выступления по поводу деревьев: реализовал ДНФ, красотища :D , понравилось "лазить по деревьям".

а чем дерево лучше?
Скорость? Меньше памяти ест? Проще? Мне кажется единственно - оно ближе к пониманию.
Возможности практически безграничны - можно делать практисеки все что угодно. Польская нотация позволяет только вычислять.
User avatar
IA72
Уже с Приветом
Posts: 956
Joined: 04 Mar 2002 10:01

Post by IA72 »

Hamster wrote:Или пойти на топкодер, Invitational 2001 Semifinals C+D, hardest
Правда, небольшая проблема - только одна успешная submission, и та на Яве. У меня было рабочее решение, но оно где-то потерялось. Придется искать в practice room'е.


Я когда-то, года 4 назад, делал как тестовую задачу - сложение и умножение неограниченно больших целых чисел. Скорость там не особенно играла роль, поэтому просто представил числа как строки (то есть почти неограниченно получилось :)), и спокойно так их в цикле обрабатывал, зпдпнными кусками.
Работы - на несколько часов.
User avatar
Win32nipuh
Уже с Приветом
Posts: 2489
Joined: 04 Feb 2002 10:01
Location: Слава Україні!

Post by Win32nipuh »

uuid wrote:
A. Fig Lee wrote:
Win32nipuh wrote:Кстати, по мотивам рпедыдущего выступления по поводу деревьев: реализовал ДНФ, красотища :D , понравилось "лазить по деревьям".

а чем дерево лучше?
Скорость? Меньше памяти ест? Проще? Мне кажется единственно - оно ближе к пониманию.
Возможности практически безграничны - можно делать практисеки все что угодно. Польская нотация позволяет только вычислять.


Вот, именно так.
Я когда делал эту задачу, искал какие-нибудь готовые лексические анализаторы, так большинство из них сводится к evaluation по ходу пьесы, т.е. сразу же выполняются указанные операции.
А в моей предыдущей задаче нужно было разобрать строку, заданную юзером для поиска в базе в некоем своем "человеческом" синтаксисе, и преобразовать ее к синтаксису полнотекстового поиска SQL Server.
И в этом случае нужно было дерево разбора, по которому нужно было пройти, построить ДНФ, по пути , по поддеревьям применить правило Де Моргана, и при втором проходе построить XML.
Над строкой так не поиздеваешься :-)

Потому uuid - спасибо за отличную идею :D

Return to “Вопросы и новости IT”