Изменения

Перейти к: навигация, поиск

Коды антигрея

13 байт убрано, 10:14, 13 сентября 2018
Псевдокод
=== Псевдокод ===
<code>
'''function''' genBinAntiGray(n: '''int'''):
'''for''' i = 1 '''to''' 2 ** (n - 1)
inverseBits(v)
print(v)
</code>
=== Доказательство корректности алгоритма ===
{{Определение
|definition=
'''Троичный код антигрея''' (англ. ''Trinary Ternary Anti-Gray Code'') {{---}} такое упорядочивание троичных векторов, что соседние отличаются во всех разрядах.
}}
В отличие от двоичного кода антигрея, здесь мы не сталкиваемся с проблемой однозначности "соседа" и можем привести такой код, соседние элементы которого будут отличаться во всех разрядах.
'''function''' genTernAntiGray(n: '''int'''):
'''for''' v = <000..0> '''to''' <022..2> <span style="color:Green">// троичные вектора длины <tex>n</tex> </span>
'''for'''i = 0 '''to''' 2
print(v)
digitCircleShift(v)
Анонимный участник

Навигация