21.01.09, 17:45
Dalszy ciag wspanialej zagadki Krzysia
forum.gazeta.pl/forum/72,2.html?f=514&w=89752003
Majac 4 karty
k0<k1<k2<k3
Jak zakodowac 24 liczby 0, 1, 2 ....23
Jak wiadomo kolejnosc pokazywania tych kart jest kodem.
Obserwuj wątek
    • belkor Re: Kodowanie 22.01.09, 13:16
      Powiedzmy, że chcemy zakodować n (0 <= n <= 23). W poniższych zapisach znak '%'
      oznacza resztę z dzielenia.
      1. W zależności od n wybieramy jako pierwszą kartę:
      0 <= n <= 5 - najmniejsza karta
      6 <= n <= 11 - druga co do wielkości karta
      12 <= n <= 17 - trzecia karta
      18 <= n <= 23 - największa karta
      2. Obliczamy nową wartość: n = n % 6. Wybieramy drugą kartę:
      0 <= n <= 1 - najmniejsza z pozostałych kart
      2 <= n <= 3 - środkowa z pozostałych kart
      4 <= n <= 5 - największa z pozostałych kart
      3. Nowa wartość: n = n % 2. Wybieramy trzecią kartę:
      - jeśli n = 0, to wybieramy mniejszą kartę
      - jeśli n = 1, to wybieramy większą kartę
      4. Dajemy ostatnią kartę jako czwartą

      Odkodowywanie:

      1. Ustalamy n = 0. Bierzemy pierwszą kartę.
      2. Bierzemy drugą kartę. Jeśli jest mniejsza od pierwszej, to dodajemy 6 do n.
      3. Bierzemy trzecią kartę. Jeśli jest mniejsza od pierwszej, to dodajemy 6 do n.
      Jeśli jest mniejsza od drugiej, to dodajemy 2 do n.
      4. Bierzemy czwartą kartę. Jeśli jest mniejsza od pierwszej, to dodajemy 6 do n.
      Jeśli jest mniejsza od drugiej, to dodajemy 2 do n. Jeśli jest mniejsza od
      trzeciej, to dodajemy 1 do n.

      Przykład: mamy 4 karty: k1 < k2 < k3 < k4, n = 15.
      Kodowanie:
      12 <= 15 <= 17, więc jako pierwszą dajemy kartę k3.
      n = 3, zostały 3 karty: k1, k2, k4.
      2 <= 3 <= 3, więc jako drugą dajemy k2 (środkową).
      n = 1, zostały 2 karty: k1, k4.
      Jako trzecią wybieramy k4 (większą).
      Jako czwartą dajemy k1.

      Odkodowywanie:
      Mamy karty w kolejności: k3, k2, k4, k1. Ustalamy n = 0.
      Druga jest mniejsza od pierwszej, więc dodajemy 6 do n (n = 6).
      Czwarta jest mniejsza od pierwszej (+6), od drugiej (+2) i od trzeciej (+1),
      więc n = 15.
      • republican Re: Kodowanie 23.01.09, 01:55
        Super, Belkor.
        PS
        Pokrewienstwo do Bellcore?

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka