Хм... нещо не се сещам... засега. Пък и с много смятане... интересноПървоначално публикувано от tonych
![]()
Хм... нещо не се сещам... засега. Пък и с много смятане... интересноПървоначално публикувано от tonych
![]()
ГотовоПървоначално публикувано от tonych
Докарах ги
ГотовоПървоначално публикувано от tonych
Докарах ги 95, а след това по подобен алгоритъм и до 96
![]()
А ако шапките са 3 или повече цвята? - същото е....
Това просто е частен случай, мисля![]()
последните 5-има имат 3 опции за отговор червена синя и мълчание спокойно могат да кодират броя на червените или сините шапки до 95-я ...,че и по нагоре
за по -лесно мълчание -0:ч-1: с-2:
95/3=31 остатък 2
31/3=10 1
10/3=3 1
3/3=1 0
1/3=0 1
вземат се отгоре надолу 10112 и всички ги преобразуват
10112=1*3^4+0*3^3+1*3^2+1*3^1+2*3^0=81+0+9+3+2=95,примерно ако червените са 95, ако са много малко последните започват с мълчание
@Wize: Е как ще докараш нещата до там, че само един да е с 50:50 шанс, а всички други да се спасяват със сигурност при повече от 2 шапки? Според мен бъркаш нещо...Първоначално публикувано от Wise
@tonych: МдамПо-лесно е обаче да кодират броя само на по-малкия брой шапки - ясно е, в най-лошия случай ще са 50:50 червени:сини, първия ще се наложи да каже кои шапки са по-малко, другите кодират както си описал или с точни 1/3-ти (без остатъци) закръглявайки нагоре...
Първият е с 1/N шанс, разбира се. Останалите 100%, ако някой не се обърка. Това при N цвята!![]()
Дай пример за 3 цвятаПървоначално публикувано от Wise
![]()
така е и това го мислих: един да напусне като посочи броя на по малкото шапки и тогава става по лесно смятането едно деление/умножение по малко най-голямото число от по малкото на брой шапки е 47=1202, но нали са програмисти, а компютрите искат чист алгоритъм независимо колко е дълъг- просто са професионално изкривени
...и така най разумното го даде Edin_Lud аз за една идея не успях да напиша моето преди неговото за да се получи градивност в броя на спасените![]()
Нали ви казах, че @Bibi беше задала такава. Умножаваме червените по 1, зелените - по2, а сините- по3.
Сумираме и делим на 3. Имаме остатък 0,1 или 2. При 0 - казваме червено, при 1 - зелено, а при 2 - синьо.
/Това е първият човек/
Следващият вече си е направил тази сметка и когато види/чуе отговора на предния, просто вади от предния
остатък , този, който е изчислил. Така си знае цвета на шапката.
Следващите също смятат - условието е само някой да не обърка!
Дребно уточнение - след като ще "Сумираме и ДЕЛИМ на 3", няма нужда да си усложняваме живота и да умножаваме "сините- по3". Все едно е дали ще ги умножим по 3 или по 0 - остатъка след това е един и същ.Първоначално публикувано от Wise
А това е задачата на Bibi - Задача 189 (корабокрушенци)
Да - точно така, аз само "за протокола" така го представих....
Важното е, че тази задача е частен случай на бибешката(хи-хи)......
Мдааа, така излиза...
А и решението наистина е универсално
Sorry, my bad...Първоначално публикувано от MerlinBG
Него всички го виждат, ама той нищо не вижда (и не знае кой точно от двата цвята ще се брои).Първоначално публикувано от Edin_Lud
Затова, ако не се уговорят предварително, то двама са уволнени с вероятност 50% - първия и последния
Какво ще кажете да променим малко условието:Първоначално публикувано от MerlinBG
- шапките са в три цвята и бутоните съответно са три
- !!! цветовете на шапките са обявени от шефа след като вече колоната се е строила и програмистите не могат предварително да уточнят помежду си в началото кой точно цвят на кое точно число отговаря,.
- на всички са дадениоще и тефтер и химикалка и всеки може да си записва каквото си иска
- вместо 30 секунди, имат доста повече време (кой за молитви, кой за сметки с химикалката и тефтера) преди да въведат избора си
Колко човека могат да запазят работата си ?
Подсказка 1. Съществува алгоритъм при който броя на запазващите работата си е много-много висок - почти толкова, колкото и ако се бяха наговорили предварително кой цвят на кое число да отговаря.
Подсказка 2. В оригиналното условие се намеква, че програмистите били мързеливи, но е пропуснато да се уточни, че били и много талантливи - всичките до един се досетили за съществуването на този алгоритъм и също така проумели, че дори да не са могли да уговорят номерата на цветовете, то за тоя алгоритъм е достатъчно да се назначи номерация според появяването на цветовете в колоната - т.е. всички от втория назад приемат цвета на първия за 0, после следващия цвят който се появява всички след него знаят че това е 1, аналогично и за 2. Лошото е, че някои от по-предните няма как да знаят кой цвят е 1 и кой е 2, но пък нали затова имат тефтери и химикалки.
За да могат да различават цветовете (ако не са далтонисти) те трябва да са от основните.
Винаги могат да се подредят предварително по цветовете на дъгата. (най-близо до червения -1, най-близо
до виолетовия - 3)
Май трябва нещо друго да се измисли, а не цветове