![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Zeratull |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите решить задачу:
12 монет. Известен способ, как за три взвешивания на весах без гирь среди 12 монет найти фальшивую (отличающуюся от остальных по весу в неизвестную сторону). Для этого при каждом взвешивании на чаши весов нужно класть по 4 монеты. Реализовать такую идентификацию: человек загадывает номер фальшивой монеты и ее особенность (легче или тяжелее других). ЭВМ организует взвешивание, спрашивает, куда отклонилась стрелка весов при каждом опыте, и находит номер фальшивой монеты |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, так ты же знаешь алгоритм... Проблема с реализацией?
Насколько я понимаю, тройной If ... Then ... Else - вот и вся программа... Что именно проблематично? |
Zeratull |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Как раз с реализацией проблемы.
У меня она что-то слишком громоздкой получается. Переменных много. Можете подсказать фрагмент основного кода реализации. А остальное надеюсь допишу. |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата У меня она что-то слишком громоздкой получается. Вот и приведи то, что у тебя получается... |
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
А что является одним испытанием, когда замер происходит в момент нахождения монет и на правой чаше и на левой ?
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Lapp |
![]()
Сообщение
#6
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
А что является одним испытанием, когда замер происходит в момент нахождения монет и на правой чаше и на левой ? Примерно так: Входные данные (показываются программой на мониторе, три раза за игру): - На левой чашке: монеты 1, 2, 5, 12 - На правой: 3, 4, 8, 10 (циферки я написал от балды) Возможные варианты ответов (игрок отвечает, исходя из того, что он задумал: номер фальшивой монеты и тяжелее она или легче) : - левая тяжелее - левая легче - одинаково Алгоритм (который автор любезно опустил) весьма непростой. Прежде всего надо определиться с ним. Возможно также, что существует не один алгоритм. Поскольку задача размещена не в Математике, а в Задачах (на Паскале!), то нужно попросить автора темы выложить тут подробное описание алгоритма. И уже по нему делать прогу.. Верно? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
lapp, ты меня извини, но не надо раздувать из мухи слона!
Цитата Алгоритм (который автор любезно опустил) весьма непростой Уж куда там... 3 строчки - это уникальный просто по сложности алгоритм... ![]() И, Цитата Поскольку задача размещена не в Математике, а в Задачах (на Паскале!) , все дальнейшие рассуждения по поводу сложности алгоритма будут считаться флудом. Я тебя уже предупреждал, кажется? Есть, что сказать по теме - Yor Are Welcome, иначе, извини, I'll have to pull rank! |
Lapp |
![]()
Сообщение
#8
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
lapp, ты меня извини, но не надо раздувать из мухи слона! Уж куда там... 3 строчки - это уникальный просто по сложности алгоритм... ![]() Volvo, ты прав, сложность алгритма тут абсолютно ни при чем. Да и сам алгоритм тут тоже абсолютно ни при чем. По некотором размышлении набросал программу-рыбу. Строчки заполнить нужной информацией.. Конечно, она не оптимальная.. строки зря тратит.. Некоторые комбинации, видимо, не осуществляются (27 строк на 24 ответа).
Сообщение отредактировано: lapp - 28.02.2006 18:29 -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Zeratull |
![]()
Сообщение
#9
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
lapp
огромное спасибо. попробую разобраться с прогой. На одном форуме видел предлагали такое теоретическое решение задачи: Ссылка: http://diesel.elcat.kg/index.php?showtopic=181464# Решение в 3 взвешивания ! ! ! Положение чаш весов будут показаны как = , > или < --------------------------------------------- 1. --- Если (1,2,3,4) = (5,6,7,8) то 1,,,8,9,10,11,12 2. --- (9) = (10) то 9,10,11,12, 3. --- (11) = (9) то 11,12 --- 3. --- (11) <> (9) то 12,11 ------------------- 9,10,11,12 2. --- (9) <> (10) то 11,12,9,10 3. --- (11) = (9) то 9,10 --- 3. --- (11) <> (9) то 109 -------------------------------------------- 1. --- (1,2,3,4) > (5,6,7,8) то 9,,,12,1,,,8 2. --- (1,2,5) = (3,4,9) то 1,,,5,6,7,8 3. --- (6) = (7) то 6,7,8 --- 3. --- (6) > (7) то 6 --- 3. --- (6) < (7) то 7 ------------------ 2. --- (1,2,5) > (3,4,9) то 1,2 3. --- (1) = (9) то 2 --- 3. --- (1) <> (9) то 1 ----------------- 2. --- (1,2,5) < (3,4,9) то 3,4,5 так как чаши весов теперь склонились в другую сторону, нежели при 1-м взвешивании. 3. --- (3,5) = (9,10) то 4 --- 3. --- (3,5) > (9,10) то 3 по результату предыдущего взвешивания --- 3. --- (3,5) < (9,10) то 5 |
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 17:13 |