кроссворды, задачки, головоломки

Сборник задач разного уровня сложности по математике, информатике, физике, химии, программированию, экономике etc. Логические задачи, SQL задачи, решение задач. Задачи с ответами, а также нерешённые задачи.

Petruchek.Info

Угадать число

Добавлено: 11.02.09 в 12:30
Метки: информатика

Составить алгоритм, который за наименьшее число вопросов угадывает задуманное целое число из интервала [a,b], где a и b - целые числа.

Вопрос должен предполагать только наличие ответов "ДА" или "НЕТ".

У этой задачи пока что нет ответа/решения. Вы можете прислать свой вариант в комментарии.

источник: Запорожская городская олимпиада по информатике, 1995

Комментарии
Google says:
алгоритм (11.02.09):
Не очень то и сложные задачки на олимпиаде, алгоритм прост, но с хитростью, суть хитро режем интервал.
   Ответ редакции
Для города сойдёт, и ничего хитрого нет.
Аноним (27.02.09):
Решать методом деления отрезка пополам..
   Ответ редакции
Ок, решайте.
AID (24.03.09):
Классический алгоритм поиска с отсечением.
Интервал делится на 2-е части и проверяется принадлежность к левой части если да то левая часть в своё очередь делится на 2-е и тд... если нет, то правая часть делится.
   Ответ редакции
Отсекатор.
[d] (05.05.09):
Метод бинарного поиска в упорядоченном массиве
   Ответ редакции
От метода слышу.
Andrey (07.10.09):
using System;


namespace UGADAY CHISLO
{
class Program
{
static void Main()
{
int a, b;
string s;
Random rnd = new Random();
a = rnd.Next(0, 100);
do
{
Console.WriteLine("Введите число");
s = Console.ReadLine();
b = Convert.ToInt32(s);
if (b > a) Console.WriteLine("Задуманое число меньше");
if (b < a) Console.WriteLine("Задуманое число больше");
if (b == a)
{
Console.WriteLine("Угадал");
Console.ReadLine();
}
}
while (b != a);
}
}
}
f4ll3n (12.01.10):
методом дыхотомии (деление пополам по степеням двойки),
Аноним (13.02.10):
ДА
Switch (30.03.10):
Методом золотого сечения
все просто (02.05.10):
методом тыка!!!
Ананимус (08.07.10):
В формулировке "Вопрос должен предполагать только наличие ответов "ДА" или "НЕТ"." - единственно верное решение это последовательный перебор )))
Сечения, в т. ч. золотые, все-таки подразумевают ответ "больше"/"меньше" ))))
   Ответ редакции
1. Загадайте число.
2. Ответьте на вопрос: "это число больше 10?"
3. ...
4. PROFIT!
dymonix.myopenid.com (15.11.10):
е
Аноним (18.11.10):
задача решена, путем разделения делителя и проверяемой величины и деления без остатка! писал на пхп.
Аноним (09.07.13):
(предположим что существует метод лучше чем просто отсечение половины)
1. Четное ли число (таким образом отсеим половину)
2. Делится ли на 5 (если числа четные и да, то это только числа кратные 10, если нечетные и да, то это числа оканчивающиеся на 5,) таким образом мы отсеяли еще 2 четверти т к если нет, то эти числа оканчиваются либо на 1, 3, 7, 9 либо на 2, 4, 6, 8)
3. Затем узнаем(зависит от интервала a b) сколькозначное это число(2-ух или 3-ех) прямым вопросом, таким образом узнаем сложность числа

Таким образом дальше ветка событий развивается на бесконечное кол-во вариантов, и легче будет действительно решить ее тупо отсечением половины
Комментарий от новенького:
Комментарий является ответом:
Новенький является
Новенький не робот
Знаки на картинке: латинские буквы, арабские цифры


Есть на сайте: Онлайн кроссворды Задачи Онлайн игры Блог
Все работы, опубликованные на сайте — авторские, если не указано иное. Перепечатка возможна только с письменного разрешения владельцев ресурса, с обязательной ссылкой на сайт petruchek.info. Пишите нам: . Сайт должен работать в IE, FF, Opera, Safari.

Реклама:

Разработано в студии "Webous"о проектесайта карта

Реклама: