26.10.2013, 13:47 | #1 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Помогите решить задачу по терверу
, циферблат которого состоит из ста клавиш с цифрами, расположенными по окружности. Для того чтобы открыть сейф, необходимо нажать какие–то три клавиши, причем известно, что между любыми двумя искомыми клавишами располагаются не менее десяти клавиш. Сколько комбинаций из трех клавиш необходимо перепробовать, чтобы заведомо открыть сейф? |
26.10.2013, 13:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можете узнать больше информации о этой проблеме, почитав похожие темы Помогите решить задачу на C++ Помогите решить задачу |
26.10.2013, 20:50 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Миша, могу предложить лишь приближенное решение, которое даёт около 80000 вариантов. Надеюсь, что не наврал, хотя кто его (т.е. меня) знает... Замечу, что если бы годились три любые кнопки, то число вариантов составило бы 161700. Так что с учетом наложенного ограничения результат по порядку величины выглядит, вроде, разумно.
Точное решение можно, как указано выше, получить, составив программку. Например, на Паскале: Код:
Var i,j,k:Byte; Sum:LongInt; Begin Sum:=0; For i:=1 to 78 do For j:=i+11 to 89 do For k:=j+11 to 100 do Sum:=Sum+1; Writeln(Sum); Readln End. |
27.10.2013, 07:25 | #5 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Владимир, спасибо большое, вы как всегда выручили!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|