![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 29.10.2008
Сообщений: 87
|
![]()
нужно помочь с алгоритмом:
есть неизвестное n-значное число (n-известно) при подставлении каких либо чисел имеем ответ - угадал столько-то чисел и столько-то стоят на своих местах. так вот, нужно угадать число, собственно! нужен толчок, начало, не могу определиться с чего начать?? Последний раз редактировалось uraura; 03.07.2013 в 18:02. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Самый простой способ (может быть, есть "красивее" и производительнее):
берем n-значное число из нулей - получаем количество чисел на своих местах изменяем первый ноль на единицу - получаем количество чисел на своих местах если количество уменьшилось (предыдущее значение было верным), то возвращаем ноль и переходим к следующему знаку если количество не изменилось (ни предыдущее, ни текущее значение не являются верными), то ставим двойку и повторяем если количество увеличилось (текущее значение верно), то переходим к следующему знаку Таким образом, на 100-значном числе будет в худшем случае перебор 1000 цифр.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 03.07.2013 в 19:00. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 29.10.2008
Сообщений: 87
|
![]()
есть еще одно но надо уложиться за 5-10 попыток
|
![]() |
![]() |
![]() |
#4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Тогда что подразумевается под "угадал столько-то чисел"?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 29.10.2008
Сообщений: 87
|
![]()
допустим число н 4-х значное вводим 1234 ответ 2 числа угадал из них 1 на своем месте, введем 5678 ответ 3 числа угадал 2 на своем месте
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 29.10.2008
Сообщений: 87
|
![]()
я прикидываю что примерно алгоритм для 4 цифр выглядит так проверяем 1234 узнаем ответ проверяем 5678 узнаем ответ дальше 9012 - и как то надо сопоставить ответы
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Гуглите игра "Быки и коровы"
(если не ошибаюсь, "быками" называются угаданные цифры, стоящии на своих местах, "коровами" — угаданные, но не на своих местах. p.s. не уверен, что число может быть ГАРАНТИРОВАННО угадано за 5-10 попыток при достаточно большом n (ну, скажем, при n=12) |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Быки и коровы?
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() |
![]() |
![]() |
![]() |
#10 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,430
|
![]()
Serge_Bliznykov, waleri, спасибо за интересную игру (уж было начал думать над алгоритмом, а Вы так "обломали"
![]() Еще: http://habrahabr.ru/post/148846/
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
генератор для 5 - значного кода. | DanteSSS | Помощь студентам | 2 | 21.08.2012 18:31 |
четные цифры n-значного числа | pokat | Помощь студентам | 4 | 09.10.2011 21:41 |
Перестановка 2х значного числа | artemavd | Помощь студентам | 1 | 24.01.2010 20:41 |
При вставке 20-значного числа в ячейку происходит округление. Как избавиться? | urri_k | Microsoft Office Excel | 9 | 25.07.2008 23:10 |