Kod Gray'a - pomoc w napisaniu skryptu

0

Mam napisać skrypt, który dla danego n wygeneruje liczbę losową ze zbioru i utworzy słowo kodu Gray’a o indeksie równym wylosowanej liczbie.
Nie ogarniam jak zacząć w ogóle :/ nie ogarniam tego przedmiotu nikt nam nic nie tłumaczy tylko wysyła zadania, czy ktoś mógłby mi pomóc?

1

Najpierw proponuję się zapoznać, jak wygląda kod Greya. Do kodu Greeya, dana "n" to albo potęga dwójki i losowana liczba jest z zakresu od 0 do n-1, albo n to liczba bitów i losowana liczba jest z zakresu od 0 do 2^n-1. Jak w zadaniu nie jest to doprecyzowane, możesz przyjąć dowolną interpretację.

Listę kolejnych wartości kodu Greya możesz tworzyć rekurencyjnie:

  1. Dla n=1 (n to liczba bitów) utwórz listę 2 elementową, pierwszy element to "0", drugi element to "1".
  2. Dla n>1 wykonaj następujące czynności:
    2.1. Utwórz listę dla n-1, do każdego elementu dopisz "0" z przodu.
    2.2. Utwórz listę dla n-1, odwróć kolejność elementów i do każdego elementu dopisz "1" z przodu.
    2.3. Połącz dwie listy i to będzie lista wszystkich wartości dla danego n.

Wiedząc, jak wygląda tworzenie kodu Greya, możesz już trochę przerabiając utworzyć algorytm tworzący kod dla danej pozycji i danej liczby bitów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1