W przetwornikach analogowo-cyfrowych, takich jak np. czujniki położenia, czy obrotu, stosuje się kody Graya. Kod Graya jest kodem dwójkowym, w którym dwa kolejne słowa kodowe tej samej długości różnią się stanem tylko jednego bitu.
Poniżej podane są wszystkie słowa kodowe długości 3:
numer kod ----------- 0 000 1 001 2 011 3 010 4 110 5 111 6 101 7 100
Kod Graya 1011 ma przypisany numer 13. Numer ten uzyskuje się w następujący sposób:
1. Za pierwszy bit numeru przyjmij pierwszy bit kodu Graya: n:=1 2. Bit drugi uzyskamy wykonując operacje xor na ostatnio otrzymanym bicie (czyli 1) i drugim bicie kodu Graya 1011: n:=1(1 xor 0)=11 3. Bit trzeci uzyskamy podobnie wykonując operacje xor na ostatnio otrzymanym bicie (czyli 1) i trzecim bicie kodu Graya 1011: n:=11(1 xor 1)=110 3. Bit czwarty uzyskamy podobnie wykonując operacje xor na ostatnio otrzymanym bicie (czyli 0) i czwartym bicie kodu Graya 1011: n:=110(0 xor 1)=1101 4. Otrzymana liczba dwójkowa n=1101 jest równa 13.
Napisz program, który dla podanego kodu Graya wyznaczy numer tego kodu.
Pierwszy wiersz wejścia zawiera kod Graya o maksymalnej długości 30 znaków.
Pierwszy wiersz wyjścia powinien zawierać obliczony numer kodu Graya.
Dla danych podanych na wejściu:
0
Poprawną odpowiedzią jest wyjście:
0
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath string Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :