![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Shuruper |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Антон Репутация: ![]() ![]() ![]() |
Всем доброго времени суток.
Хотел бы поинтересоваться можно ли усовершенствовать программу так, чтобы она за меньшее кол-во вопросов угадывала число. Условие задачи. Я загадаю число из интервала от А до В (включительно). Напишите программу, которая за минимальное число вопросов отгадает это число. Играть будем так. Я сообщаю программе число от А до В, программа выводит свою версию ответа. Если число меньше задуманного, то я сообщаю программе об этом -1 , если больше, то числом 1, а если число угадано 0. Мой вариант:
-------------------- Я бы исправил мир, но Бог не дает мне исходников...
|
Lapp |
![]()
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Задача во многом (хотя и не полностью) аналогична предложенной Klem4 тут: Задача о двух шариках. Посмотри, может - выудишь что полезное..
-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
мисс_граффити |
![]()
Сообщение
#3
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Shuruper, ты используешь метод половинного деления (т.е. на каждом шаге программа выбирает середину отрезка как версию о загаданном числе).
Можешь еще почитать про метод золотого сечения. Хотя зависит от того, по какому параметру хочешь оптимизировать программу. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Shuruper |
![]()
Сообщение
#4
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 48 Пол: Мужской Реальное имя: Антон Репутация: ![]() ![]() ![]() |
Спасибо за информацию. Будем анализировать.
-------------------- Я бы исправил мир, но Бог не дает мне исходников...
|
Archon |
![]()
Сообщение
#5
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Мне кажется, что "Задача о двух шариках" тут не подходит, у нее довольно специфические условия. Золотое сечение тоже не поможет, оно подходит для поисков экстремумов. Вряд-ли в угадайке есть алгоритм оптимальнее бинарного поиска =).
Но программу улучшить можно, и даже нужно. Shuruper, попробуй на отрезке [1, 2] задумать число 1 =). -------------------- Close the World...txeN eht nepO
|
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 10:23 |