republican 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. Odpowiedz Link Zgłoś Obserwuj wątek Podgląd Opublikuj
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. Odpowiedz Link Zgłoś
republican Re: Kodowanie 23.01.09, 01:55 Super, Belkor. PS Pokrewienstwo do Bellcore? Odpowiedz Link Zgłoś