Tatsoft.ru (logo)

Подробности

Интересная задачка :) 

Задачка, если честно, из моего дества. В школе мне попалась.

Собственно: дан грузик некоторого целого веса, аптекарские весы (с чашачками такие) и
набор грузиков с весами 1, 3, 9, 27, … (в наборе каждого веса грузик есть только в 1 экземпляре).
Требуется написать программу (скажем на руби), которая будет уравновешивать 1-й грузик грузиками
из набора, причем класть грузики можно на обе чашечки.

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

Комментарии

Тимур Вафин:

http://rubyquiz.com/ тема
Задачку надо решить ))

(Комментарий — 12:08 пп, Июль 25 )

Тимур Вафин:

Задачка между прочим для математиков =)
Другое дело, что хороший программист должен обладать хорошей математической поготовкой

(Комментарий — 12:09 пп, Июль 25 )

Артем Голубев:

Тимур, причем тут математики. Эта была задача по программированию в школе.
Там же надо составить алгоритм. А вот всякие доказательства и оценки, опять же
computer science. Каждый программист должен знать.

(Комментарий — 6:33 пп, Июль 25 )

Артем Голубев:

Этот рубиквиз реально дурацкий сайт. Чувак там говорит, что типа посылайте все мне по почте или в куонференции. Полный маразм. Почему я не могу засабмитить задачку или решение прямо на сайте (пусть даже ничего сразу не покажется)?

(Комментарий — 6:44 пп, Июль 25 )

Айрат Натфуллин:

Т.к. гири это степени тройки, то логично её решать в тройчной системе исчесления.

Пошел думать как…

p.s. Тимур, помнишь, как эту задачку решал Стец?) Сколько он мне не объяснял, я так и не понял тогда алгоритма)

(Комментарий — 2:42 пп, Июль 29 )

Тимур Вафин:

А он ее решил?

(Комментарий — 2:51 пп, Июль 29 )

Айрат Натфуллин:

да, решил.
я только не помню какие именно гири тогда были
потому что, к примеру, если 1,2,4,8… то она решается элементарно

(Комментарий — 9:59 дп, Июль 30 )

Айрат Натфуллин:

yes! решил!

всё никак не мог понять как же использовать троичную, потом допёрло, что вместо 2 надо писать +1-1, почитал - оказалось это есть симметричная система исчисления

на примерах:
1.
67[10] = 2111[3] => 1(-1)111
минус значит что соответствующую гирю надо класть на чашу 1го грузика
получаем
81 + 9 + 3 + 1 ? 67 + 27
94 == 94
2.
43[10] = 1121[3] => 11(+1-1)1 => 1 (+1+1)(-1)1 => 12(-1)1 => 2(-1)(-1)1 => 1(-1)(-1)(-1)1
проверяем
81 + 1 ? 43 + 27 +9 + 3
82 == 82

клево! самому понравилось;)
эх, есть еще порох в пороховницах))

(Комментарий — 10:23 дп, Июль 30 )

Артем Голубев:

Какова сложность алгоритма и максимальное кол-во необходимых грузиков?

(Комментарий — 5:42 пп, Июль 30 )

Айрат Натфуллин:

= сложности преобразования числа из десятичной в симметричную троичную (не знаю, можно ли сразу в неё перевести)
или же, в случае как я делал: сложность алгоритма перевода из десятичной в троичную (это, если не ошибаюсь, log(3)N) + линейное преобразование = O(N)
log(3)N + O(N)

а что значит максимальное количество грузиков?
если это максимальное количество грузиков, которое может понадобиться для N, то не больше, чем K = min k : N

(Комментарий — 9:51 дп, Июль 31 )

Айрат Натфуллин:

(формула не отобразилась в предыдущем коммента)
K = min k : N < 3^k

(Комментарий — 9:52 дп, Июль 31 )

Артем Голубев:

Оценка сложности верна, но можно дать более точную :)

(Комментарий — 5:30 пп, Июль 31 )

Оставить комментарий



Публикации по категориям

Самые читаемые

  • 4,343 прочтений: возможно самый отрицательный подкаст про RoR (далее)
  • 3,953 прочтений: что такое wordpress (далее)
  • 3,270 прочтений: Впервые в России конференция в формате BarCamp (далее)
  • 3,107 прочтений: 9 ошибок менеджера или почему задерживаются проекты (далее)
  • 3,059 прочтений: Про нас написали Отцы! :) (далее)
  • 2,923 прочтений: Конференция - взгляд из-за кулис (далее)
  • 2,870 прочтений: Чем плох MySQL (далее)
  • 2,475 прочтений: Автоматическая система синхронизация файлов между серверами (далее)
  • 2,025 прочтений: jQuery – Javascript нового поколения (далее)
  • 2,012 прочтений: Перепись казанских веб-студий. Часть 1. (далее)

Добавление в рейтинги

Bobrdobr Memori Google YahooMyWeb Digg Technorati Delicious
количество читателей онлайн и всего Рекомендовать tatsoft.ru в МойКруг.ру

Активные участники

 5 Users Online из них сейчас на сайте

Облако тэгов