Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Алгоритм числа


Zorik ©   (2003-08-19 14:55:00) 

Игал кто-нибуть на уроках или лекциях в игру числа. Два игрока загадывают 4-х значные числа и по очереди пытаются их угадать. Кто первый угадает - тот и выиграл. Принцып угадывания прост. Противник кажет свой вариант числа а другой кажет две цыфры: первая - сколько цыфр угадано, а вторая - сколько цыфр расположено на своих местах.
Пример
1 загадал 5479
2 угадывает 1260
1 отвечает 0:0
2 угадывает 4576
1 отвечает 3:1
... и т. д. до
2 угадывает 5479
1 отвечает 4:4
Вопрос: как научить комп думатьб может уже есть алгоритмы и я даром все это делаю?


Hyboid   (2003-08-20 04:57:00) [1]

Самый простой алгоритм по-моему следующий:
Init:
Множество M состоит из всех возможных четырехзначных чисел
без повторения цифр.

Loop:
Пока (число не угадано) BEGIN
Взять из M случайным образом какое-либо число,
например N, и спросить;
Пусть загадавший число отвечает x:y;
Если x:y = 4:4 - УРА,
Иначе проходя по всему множеству M, оставляем в нем только
те числа, которые на вопрос N будут давать ответ x:y.
END;
Ну а запрограммировать всю эту ерунду по-моему не составит
труда.


Programmer_SC   (2003-08-19 18:39:00) [2]

Хех. Да веселая игра. Года три назад писал ее на басике. Вроде не плохо работало. Насчет алгоритмов не знаю. Я делал так(кажется)
Сначала спрашиваем числа 1234, 5678, 98
потом анализируем это дело. Ес-но продолжаем до тех пор пока не получим в ответе 4:x а дальше ... можно перебором на основе имеющихся данных


Наверх

Титульная страница Поиск, карта сайта Написать письмо