![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.10.2009
Сообщений: 8
|
![]()
Написать программу, которая за меньшее число ходов отгадывает загаданное число от 0 до 1000.
Ввод с клавиатуры числа и указания пользователя 1 - больше показаного, 0 - число угадано, -1 - меньше показанного Помогите пожалуйстя ![]() |
![]() |
![]() |
![]() |
#2 |
Я есть!
Форумчанин
Регистрация: 17.02.2008
Сообщений: 318
|
![]()
Язык? Что именно не ясно?
©Учиться, учиться и еще раз учиться!
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]()
Используем дихотомию (binary search) и гарантировано угадываем за 10 ходов
![]() |
![]() |
![]() |
![]() |
#4 |
Регистрация: 30.10.2009
Сообщений: 8
|
![]()
Сори... На паскале текст программы надо)))
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]()
Сделаю, недорого. Аська в профиле.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]()
Наработки?
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 30.10.2009
Сообщений: 8
|
![]()
то LeBron
У меня моя преподавательница не поймет))) По шее даст разочков пять))) поэтому мне как-то по обычному надо, но блин не выходит... Я не знаю какой шаг делать и откуда начинать... Плюс тут наименьшее число ходов меня настораживает((( |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.09.2009
Сообщений: 39
|
![]()
Наименьшее число ходов абсолютно неприувеличено
![]() 1. Делим массив на две части. 2. Берем средний элемент. 3. Если он больше, то загаданное число слева, выполняем шаги 1 - 3 с левой половиной; если меньше - с правой. Если равны - цель достигнута. |
![]() |
![]() |
![]() |
#9 |
Регистрация: 30.10.2009
Сообщений: 8
|
![]()
ох... Мы массивы только проходить начали((( А вообще идея мне нравится))) Я завтра наберу)))
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
![]()
По обычному и массив не надо использовать. Объясняю идею на примере поиска в 1-1024.
Берем середину - 512 (1024/2=512), размер отклонения 512/2=256. Если больше 512, то спрашиваем уже для 512+256=768. Уменьшаем отклонение в 2 раза 256/2=128. Если, к примеру, меньше 768 - отнимаем отклонение и получаем 640. Отклонение 64. Если больше 640... И так пока не попадем в само число. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать программу игры угадай число!!! | Oleg Olegovi4 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 21.05.2009 21:54 |
Программа, которая отгадывает заданное число | vakich | Помощь студентам | 7 | 24.02.2009 19:13 |
Ввести число N и определить делится ли оно без остатка на число M (VBA) | Ivanich | Microsoft Office Excel | 7 | 24.04.2008 19:43 |
Паскаль.программа, которая определяет каким является введенное число... | Integer | Помощь студентам | 4 | 18.11.2007 22:17 |
нужна функция WinApi, которая переводит десятичное число в шестнадцатиричное??? | Morskoivolk | Win Api | 3 | 02.04.2007 18:14 |