Re: Задача 293 (Фокус-мокус)
Цитат:
Първоначално публикувано от Bibi
@MitkoS,
още като видях, че от 5 листчета си успял да получиш повече от 120 различни, се усъмних къде е уловката.
Bibi, тук си права само наполовина. Аз наистина съм сбъркал в конкретния случай,
но това не пречи да има и друг начин да се определят A1, A2, A3, A4 и A5,
такива че 0<=Ai<=2 и 0<=A1<=1.
Например, ти разглеждаш реда на всяко от числата само за себе си. А може да се разглеждат и по двойки.
Например (с твоите означения A, B, C, D, E и A<B<C<D<E):
Тъй като накрая ще получим някаква комбинация от ABCDE на която можем да гледаме като стринг,
то аз ще я означавам надолу за удобство с K=K1K2K3K4K5, т.е. Ki е символът на i-тата позиция
Какво правим, за да кодираме число от 0 до 161 ?
Това число се представя по единствен начин във вида
81*A1 + 27*A2 + 9*A3 + 3*A4 + 1*A5, където 0<=Ai<=2, като за A1 имаме 0<=A1<=1
(Всъщност A1A2A3A4A5 е записването на числото в третична бройна система)
В началото K е празно.
Взимаме D и E (двете най-големи числа)
ако A1=0, то ги подреждаме ED (K=ЕD),
ако A1=1, то ги подреждаме DE (K=DE)
Дотук имаме K=K1K2
Сега взимаме C и трябва да кодираме следното
ако A2=0, правим K=CK1K2
ако A2=1, правим K=K1CK2
ако A2=2, правим K=K1K2C
К вече се състои от три символа. За удобство надолу K=K1K2K3
Сега взимаме едновременно A и B. Можем да ги вмъкнем вътре между K1K2K3 по-много начини,
но за нас е важно, че тези начини са повече от 9 на брой.
например ABK1K2K3, BAK1K2K3, K1ABK2K3, K1BAK2K3, K1K2ABK3, K1K2BAK3, K1K2K3AB, K1K2K3BA, AK1K2K3B и т.н.
тези поне девет начина ни позволяват да кодираме A3, A4 и A5
Сега като се замисля, горната граница не е 161, а много повече.
Даже може би ще стане и за четвъртична бройна система.
ЦИТАТ...А може да се разглеждат и по-двойки... КРАЙ
А може и по тройки. А може да може и по четворки и петици
Re: Задача 293 (Фокус-мокус)
На мен ми хареса идеята на Bibi за кодиране на числата >120 и идеята на Wise за кодиране на остатъците от последователно целочислено делене на 5, 4, 3 и 2. Така ще трябва да помним по-малко, въпреки че ще смятаме малко повече, но поне пък с по-малко възможности за объркване на алгоритъма. Така, че идеята е да кодираме числата от 1 до 120. Всъщност ще работим с числата от 0 до 119. Та: стъпка 1. е като при Bibi: ако числото е по-голямо от 120, го заместваме с едно от петте други. Нека това число е А' и А=А'-1 (А<120). Тогава:
А/5 = А1 (О1) , О1 = 0..4
А1/4 = А2 (О2), О2 = 0..3
А2/3 = А3 (О3), 03 = 0..2
Когато А<120, А3<2.
Сега кодираме отзад напред:
- първо А3 дали е 0 или 1;
- после О3 което е с 3 възможни стойности, респективно поставяме картата на едноот трите възможни места;
- О2 - 4 възможни места на следващата картата
- О1 - 5 такива
Обратната сметка е проста:
А' = 1 + ((А3*3 + О3)*4 + О2)*5 + О1
Ако А' съвпада с число от белите листчета, значи е съответното >120
Re: Задача 293 (Фокус-мокус)
Последно:ABCDE F са шестте числа.
Числата над 120 се кодират , както @Bibi предложи с другите 5
П:
1.дели числото F на 24 и с позицията на А показва цялото число 0,1,2,3,4
2.остатъка дели на 6 и с позицията на B показва цялото 0,1,2,3
3. получения остатък дели на 2 и с C показва цялото 0,1,2
4. получения остатък се показва с D - 0,1
М:
1.Умножава 24х(0-4) в зависимост от позицията на А
2.Умножава 6х(0-3) в зависимост от позицията на В
3.Умножава 2х(0-2) в зависомст от позицията на C
4.Събира 1+2+3 и в зависимост от позицията на D добавя или не 1
5. Ако полученото число е между петте го замества със съответното 121-125
Дано да има и по-лесен начин, че много сметки пак се получиха :huh:
Re: Задача 293 (Фокус-мокус)
Извинявам се, че не постнах по-рано моя отговор...стана ми интересно докъде ще стигнете с идеите.
Моето решение е пермутации за числата от 1 до 120, а от 121 до 125 - по метода на Bibi. Но, след като прочетох вашите идеи, най-много ми допада последната на Wise.
И така отново сме в очакване на някоя мъдра главоблъсканица :coolsmiley:
Re: Задача 293 (Фокус-мокус)
Няма да споря много, но ще ви предложа блиц-турнир, ама искам да си изберете за Помощник някое дете. Да видим как е научило наизуст таблицата за умножение с 24 :grin:
А моят Помощник през това време само ще си брои до 5 и ще се хили.
И после ще подам контестация до съда в Хага :knuppel2:
Re: Задача 293 (Фокус-мокус)
Пред заплахата да заема мястото на Милошевич :huh: предлагам вариант без умножение и деление.
Ето една разновидност на последния ми вариант:
Числата се подреждат по големина ABCDE F
П:
Ako F е над 120 го замества със съответното по големина
1. Вади от числото F единица.
2. Докато може вади от остатъка 24 и всеки път мести А една стъпка надясно.
3. Докато може вади от остатъка 6 и всеки път мести В една стъпка надясно (А не се смята).
4. Докато може вади от остатъка 2 и всеки път мести С една стъпка надясно (А и В не се смятат).
5. Ако може вади от остатъка 1 и мести D зад Е
Спира веднага, когато получи остатък 0. Ако някоя стъпка не е възможна я прескача.
М:
1 Започва с число 1
2. Ако D е зад Е го връща пред него и добавя 1
3. Ако C е вдясно от D го мести една стъка наляво и добавя 2 при всяко местене
4. Ако В е вдясно от С го мести една стъпка наляво и добавя 6 при всяко местене
5. Ако А е вдясно от В го мести една стъпка наляво и добавя 24 при всяко местене
Спира докато получи ABCDE наредба. Ако полученото число съвпада с някое го замества със съответното над 120
Чакам присъдата :screwy:
Re: Задача 293 (Фокус-мокус)
Добре!
Вече ми харесва, защото стана същото като моето :grin:
Дали се вади 60, после 20, после 5
или пък 24, 6 и 2, все е нещо, което човек наистина може да направи наум, без да рискува да се изложи.
Re: Задача 293 (Фокус-мокус)
Ох........отървах въжето! :yahoo: Доживотният затвор си е направо милостиня!
В знак на признателност поканих @Bibi на пиано-бар. След около час ще напиша какво си говорехме там! ;)