Страница 1 от 3 123 ПоследноПоследно
Резултати от 1 до 15 от общо 40
Like Tree2Одобрявам

Шифроване с орехи

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Member
    Тук е от
    Sep 2009
    Мнения
    831
    #1

    Шифроване с орехи

    Задача:
    Двама шпиони разполагали с торба с 26 ореха. С тяхна помощ
    трябва единият да предаде на другия таен код (число) и обратно.
    Всеки от тях последователно можел да вземе от торбата няколко
    ореха (поне един, а може и всичките) и да ги счупи пред другия.
    Броят на счупените орехи е единствената информация, която си обменят!
    Кой да почне пръв са решили предварително, без да знаят кодовете си.
    В края на срещата трябва да са счупени всички орехи.
    Търси се алгоритъм да се обменят кодове от цели числа от 1 до 1700?

  2.  
     
  3. Senior Member
    Тук е от
    Dec 2010
    Мнения
    1,601
    #2

    Отговор: Шифроване с орехи

    Най-прегледният и лесен начин за кодиране на числа е с двоичнодесетичен код. За числа до 1799 са необходими 12 числа. Едно за хилядите, три за стотиците(до число 7) и по 4 за десетиците и единиците.
    Ако разделим по равно орехите имаме 13, т.е. един повече даже.
    Този орех в повече може да го ползваме като като индикатор че числото е валидно(написано, готово...) и за заблуда на врага.
    Единият взема 13 ореха, нарежда ги в редица или в колона или в 5 реда. Аз ще обясня за 5 реда за по-лесно обяснение, иначе реално е по-добре да са в редица подредени.
    1 ред - 1 орех - хиляди
    2 ред - 3 ореха - стотици
    3 ред - 4 ореха - десетици
    4 ред - 4 ореха - единици
    5 ред - 1 орех - готово.

    Счупен орех означава логическа единица, може и нула- както се разберат въпрос на вкус. Приемаме че е лог 1 и счупен ще бележа с Х, а здрав с О.
    Идеята е да почне да чупи орехи както иска: отляво-надясно, отгоре-надолу, обратно, произволно. В момента в който счупи ореха в петият ред(готово), другият шпионин трябва да го разчете. След което дочупва останалите в произволен ред.
    Колегата му прави същото с другите 13.
    Предаването на числото 1396 би изглеждало така:
    Х
    ОХХ
    ХООХ
    ОХХО
    О--> Х - този се счупва и се продължава с чупенето.
    На един ред биха изглеждали така:
    ХОХХХООХОХХОО-->Х - последният се счупва.

    Орехът "готово" може да бъде, където и да е в редицата за по-голяма заблуда на врага.

  4. Member
    Тук е от
    Sep 2009
    Мнения
    831
    #3

    Отговор: Шифроване с орехи

    Пояснявам условието:
    Всеки от шпионите взема няколко ореха и ги счупва. Всичките.
    Здрав орех не остава накрая!

  5. Senior Member
    Тук е от
    Dec 2010
    Мнения
    1,601
    #4

    Отговор: Шифроване с орехи

    Цитат Първоначално публикувано от ql^2/8 Виж публикацията
    Пояснявам условието:
    Всеки от шпионите взема няколко ореха и ги счупва. Всичките.
    Здрав орех не остава накрая!
    Да де, шпионин 1 взема 13 и ги счупва, а шпионин 2 взема другите 13 и ги счупва.
    Просто е важен момента в който се счупва ореха в петият ред.
    В случая счупва 7 ореха за кода, осмият е за ореха "готово", след което счупва останалите 5. Общо 13 станаха.
    Другият прави същото с другите 13.
    Този пост е редактиран от zxc0; 23-02-18 в 23:54.

  6. Member
    Тук е от
    Sep 2009
    Мнения
    831
    #5

    Отговор: Шифроване с орехи

    Прочети условието:
    Броят на счупените орехи е единствената информация, която си обменят!
    Само броят в даден ход е съществен, не реда на счупване. Ходовете може да се повече.
    В твоя случай:
    първи шпионин - първи ход - 13
    втори шпионин - първи ход - 13
    Няма повече ходове, защото орехите свършиха.



  7. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #6

    Отговор: Шифроване с орехи

    13 на брой са възможните прости делители: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41.
    Може би тях трябва да подскажем с броя орехи?

    Имам предвид, че намисленото число или само по себе си е просто, или е произведение на някои от описаните делители.
    Този пост е редактиран от Bibi; 24-02-18 в 14:51.

  8.  
     
  9. Moderator
    Тук е от
    Mar 2005
    Мнения
    7,189
    #7

    Отговор: Шифроване с орехи

    Що да са само 13 ?
    ..., 37, 41, 43, 47, 53, 59, 61, 67, 71 ...
    https://en.wikipedia.org/wiki/List_of_prime_numbers

    Аз мисля, че можем да ползваме 4-ична бройна система
    1700 е по-малко от 211
    С четири ореха кодираме число от нула до три, така че с три хода всеки не повече от четири взети и счупени ореха можем да кодираме трицифрено число в 4-ична бройна система.
    И ако не бъркам нещо максималното трицифрено число в 4-ична бройна система е 212
    Т.е. с 12 ореха можем да кодираме от 0 до 2047 (до 212 -1)
    Последния тринадесети, ще го ползваме да оправим някак си проблема с нулата ... това в случай, че има такъв проблем

    ПП.
    Големи глупости мога да сътворя понякога, ужас !
    Този пост е редактиран от MitkoS; 24-02-18 в 20:34.

  10. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #8

    Отговор: Шифроване с орехи

    @MitkoS, идеята ми беше по-друга.
    Първият път взимаме толкова орехи, колкото делители има числото.
    Ако е просто - взимаме 1 орех. Остава с 12 маркера да уточним кое измежду общо 266 възможни.
    Ако не е, не знам какво да правим, Делителите му са измежду горните 13. Може да са най-много 4 различни. Никой не участва повече от 10 пъти...

  11. Senior Member
    Тук е от
    Dec 2010
    Мнения
    1,601
    #9

    Отговор: Шифроване с орехи

    Позволено ли е Ш1 да направи 2 хода, а Ш2 да направи 10хода примерно?
    Ако не е, се усложняват още нещата. Логично е и двамата да могат да предадат достатъчно сложни числа.
    Ако на единият му се пада да чупи повече орехи, очевидно ще изхарчи своите 13 по-бързо и ще почне да взема от 13-те на другия.
    Как всеки да счупи общо 13 ореха при еднакъв брой опити?

    Кой почва първи е уточнено предварително! - тука каква е уловката, не знам.

  12. Moderator
    Тук е от
    Mar 2005
    Мнения
    7,189
    #10

    Отговор: Шифроване с орехи

    Цитат Първоначално публикувано от Bibi Виж публикацията
    Делителите му са измежду горните 13.
    Е може да не са само горните тринадесет.
    Числото 710 има три делителя - 2, 5, 71
    А делителя 71 не е между горните 13

    Цитат Първоначално публикувано от zxc0 Виж публикацията
    Позволено ли е Ш1 да направи 2 хода, а Ш2 да направи 10хода примерно?
    Доколкото разбирам, чупенето разграничава ходовете.
    Например първия е имал само 2-3 хода и ги е приключил, а втория има още няколко хода. Взима орехи и ги чупи. Щом ги счупи, то хода е свършил и почва следващия ход от същия шпионин с ново взимане на орехи.

  13. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #11

    Отговор: Шифроване с орехи

    Дам. Може изобщо да не помагат делителите.
    Двоичното представяне е с максимум 11 цифри. Може би някак с него тогава?
    Мисля, че трябва да намерим нещо, за което 1700 е праг.
    Освен това защо ги чупи? Ако просто ги вземе явно не е същото. Може пък да им значение как ги чупи?

  14.  
     
  15. Senior Member
    Тук е от
    Dec 2010
    Мнения
    1,601
    #12

    Отговор: Шифроване с орехи

    За начина на чупене - дадох решение горе, ама не е позволено.
    Така позволено ли е?
    Ш1 чупи 12
    Ш2 чупи 1
    Ш1 чупи 1
    Ш2 чупи 1
    Ш2 чупи 1
    Ш2 чупи 2
    ... и т.н.
    Ш2 чупи останалите докрая по колкото му трябват.

  16. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #13

    Отговор: Шифроване с орехи

    Със битовете би трябвало да се получи. Всеки ще счупи по 13 ореха.
    Представяме избраното число двоично и го допълваме отпред с нули до 13 цифрено.
    получаваме 00...01..10...0...
    A нули, B единици, C нули, D едници,...
    Но наистина проблемът е, че единият може много рано да си свърши ходовете.

  17. Member
    Тук е от
    Sep 2009
    Мнения
    831
    #14

    Отговор: Шифроване с орехи

    Двамата се редуват да правят ход. При всеки ход се чупи поне един орех
    Единият може да счупи повече от 13 ореха, може да счупи всички останали
    в торбата. Няма значение как ги чупи - само броят има значение.

  18. Moderator
    Тук е от
    Mar 2005
    Мнения
    7,189
    #15

    Отговор: Шифроване с орехи

    Цитат Първоначално публикувано от ql^2/8 Виж публикацията
    При всеки ход се чупи поне един орех
    Ако искаме на един ход да предадем "0" или "1", то при 13 на брой ореха можем да предадем най-много 6 или 7 общо на брой нули и единици.
    Но понеже знаем какво ни е казал другия, то можем да се изхитрим да ползваме неговата предадена информация и да спестим малко орехи.
    Пример
    Първия трябва да предаде 1010
    Втория трябва да предаде 1100
    Първи ход на първия - чупи два ореха с което казва "първата позиция при мен е "1"".
    Първи ход на втория - чупи два ореха с което казва "първата позиция при мен е "1"" и евентуално ще счупи трети орех с който ще потвърди, че неговата следваща позиция съвпада с тази на първия. В конкретния пример втория ще счупи и трети орех с което е предал "втората ми позиция е като твоята предишната, т.е."1""
    Втори ход на първия - чупи един орех за неговата нула на втора позиция и още един да потвърди, че третата му позиция съвпада с втората на първия. Т.е., чупи два ореха, което може още и да значи, че при него слдат не 0 и 1, а 1 и 0 ... ЛОШО ! НЕ СТАВА С ТАЗИ СТРАТЕГИЯ ! Но няма да я трия щото идеята да ползваме вече съществуваща информация от другия си заслужава, ... нещо като XOR

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn
Страница 1 от 3 123 ПоследноПоследно

Подобни теми

  1. Кокосови орехи и още нещо
    От ql^2/8 във форум Логически задачи
    Отговори: 29
    Последно: 31-07-12, 08:50
  2. The Pirate Bay пусна VPN услуга за шифроване на трафика
    От cvb във форум Коментирай новина
    Отговори: 0
    Последно: 25-01-10, 16:48

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе