![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-Ромка- |
![]()
Сообщение
#1
|
Гость ![]() |
Однажды два математика придумали математическую игру и решили в нее сыграть. Они попросили постороннего человека написать на разных листах бумаги два натуральных числа, причем одно должно быть больше другого ровно в 2 раза. Затем один математик взял один лист, а второй взял оставшийся. В чужие листы они не заглядывали и единственное, что знал каждый из них – на другом листе записано число либо в 2 раза большее, либо в 2 раза меньшее, чем у него. Затем началась игра. Игра заключается в том, что игроки по очереди отвечают на вопрос, знают ли они, какое число записано на листе соперника, до тех пор, пока один из них не сможет назвать это число. В процессе игры игроки всегда учитывают всю информацию, которую им дает ответ соперника, и говорят только правду.
Нужно вывести на каком ходе будет получен правильныей ответ. Ответ явно связан со степенью двойки "входящей в число". Пример числа 8 и 16 ответ 5. Числа 4 и 2 ответ 2. |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
то есть как?
они сидят: -ты знаешь, какое у меня число? -нет, а ты про мое? -нет, а ты про мое? .... или еще что-то? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Романтик |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 159 Пол: Мужской Реальное имя: Anton Репутация: ![]() ![]() ![]() |
Нужно вывести на каком ходе будет получен правильныей ответ. Ответ явно связан со степенью двойки "входящей в число". ????Пример числа 8 и 16 ответ 5. Числа 4 и 2 ответ 2.???? Нужны комментарии. p.S опоздал с вопросом. ![]() Сообщение отредактировано: Романтик - 11.04.2006 20:18 -------------------- made in USSR.
|
-Ромка- |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата то есть как? они сидят: -ты знаешь, какое у меня число? -нет, а ты про мое? -нет, а ты про мое? Да. Например, 4 и 2 -первый сразу не знает. Второй думает: "У 1-го может быть 1 или 4. Но если у него 1, то он сразу сказал бы "знаю", так как у меня не может быть 1/2. => у него 4". Т.е. игра - 1-й. Я не знаю (1 ход) 2-й. Я знаю - 2 (2 ход) |
Malice |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня вот так получилось:
function check(a,b:integer):integer; |
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
а если 8 и 16?
как-то пока не понимаю. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
![]()
Сообщение
#7
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
а если 8 и 16? Здесь уже разобрали случай с 2 и 4. В этом случае игрок с 2 догадался на втором ходу. Теперь рассмотрим случай с 4 и 8. После двух ходов игрок с 4 думает: "У него может быть либо 2, либо 8. Но если бы у него было 2, то он бы догадался на втором ходу, так как это был бы случай 2 и 4, который уже разобран. Раз он не догадался, значит, это не есть случай 2 и 4. Тогда это случай 4 и 8, и у него - 8". Таким образом, в случае 4 и 8 игрок с 4 догадывается на 3-ем ходу. Далее - рекурсия. В случае 8 и 16 игрок с 8 догадается на 4-ом ходу, так как он будет ссылаться на альтернативный случай 4 и 8, который должен быть решен на 3-ем ходу. И так далее.. Строго говоря, это не игра в изначальном смысле этого слова. Ибо в ней нет выигравших и проигравших. Игрок с меньшим числом должен догадываться на ходу порядка Log2(n). При этом предполагается, что они оба предельно умные и никогда не ошибаются. Если произойдет ошибка - "игра" и вовсе утрачивает смысл. По-моему, тут таится какое-то противоречие, парадокс, который никто пока не сформулировал, насколько мне известно. Это головоломка на рекурсивное мышление, похожая на мудрецов с колпаками. Что она делает в этом разделе - ума не приложу. Она скорее для раздела Математика.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Гость |
![]()
Сообщение
#8
|
Гость ![]() |
Ну здесь она находится, так как она с моего школьного олимпиадного программирования. А прога сделанная Malice, работает немного неправильно...
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Гость, но вообще-то, если ты уж взялся утверждать, что ЧТО-ЛИБО работает неправильно, то будь добр не просто так трепать языком, а АРГУМЕНТИРОВАННО доказать, что это действительно работает не так, как ТЫ ДУМАЕШЬ, что должно работать.
|
-Ромка- |
![]()
Сообщение
#10
|
Гость ![]() |
упс, забыл подписатся в предпреведущем посте, сорри. Ну она(прога) работает напрвильно на примере 2,1 и некоторых других ответ выдает выдает на 1 меньше. Может и еще где-то работает неправильно...
|
Malice |
![]()
Сообщение
#11
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: ![]() ![]() ![]() |
А какой ответ должен быть в примере 2,1 ? Первым if-ом я отсек такие варианты, считая, что если одно из чисел нечетное, то и гадать незачем
![]() ![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 14:50 |