Ещё один простой способ генерации кода Грея связан со следующим процессом:
Начинаем с буквы А. Далее поступаем по следующем правилу: приписываем справа следующую букву, а после неё - повторяем все ранее записанные символы. После первого шага получим строку
АВА
После второго: АВАСАВА
После третьего:
АВАСАВАDАВАСАВА
Теперь возьмём двоичное число 0000 и обозначим его цифры как DCBA. Пробежимся по строке и будем менять на противоположную ту цифру, которая соответствует текущему символу в строке:
А: 0001
В: 0011
А: 0010
С: 0110
А: 0111
В: 0101
А: 0100
D: 1100
А: 1101
В: 1111
А: 1110
С: 1010
А: 1011
В: 1001
А: 1000
Как отметил наш читатель Вадим, есть ещё один рекурсивный способ: сначала получаем код Грея длины 3, записываем его сначала в прямом порядке, а потом в обратном. И дописываем перед первой половиной 0, а перед второй — 1.
Интересные числа, занимательные математические факты и удивительные конструкции. Узнавайте каждый день что-то новое!
Подписаться на:
Комментарии к сообщению (Atom)
Популярные сообщения
-
Если вы хотите проверить, содержится ли ваш телефон, год рождения или номер дома среди уже вычисленных знаков числа пи, воспользуйтесь этой ...
-
Как рассказал наш читатель в комментарии к посту о целочисленном треугольнике , площадь четырёхугольника, вписанного в окружность, вычисляе...
-
Вычислим факториалы нескольких натуральных чисел и отметим точки (1, 1), (2, 2), (3, 6), (4, 24) и т.д.на прямоугольной системе координат...
-
Способ разложения числа в цепную дробь с помощью калькулятора имеет ограничения точности. Но, оказывается, для квадратных корней существуе...
-
Приведённые квадратные уравнения легко решать по теореме Виета. Достаточно найти два числа такие, произведение которых равно свободному член...
-
Мантисса - это дробная часть числа. Операция взятия дробной части обозначается фигурными скобками. {5}=0 {4,37}=0,37 По определению, дро...
-
Для числа 12 на математических часах я выбрал одну их наиболее парадоксальных формул, согласно которой сумма всего бесконечного множества на...
-
Стабильно в первую пятёрку самых читаемых постов блога "Десять Букв" входит заметка о правильно-неправильном выносе из-под корня ...
-
Площадь треугольника, зная его стороны, можно найти по формуле Герона. < Где a, b, c - стороны треугольника, а p - полупериметр. Для...
-
Вот такая интересная последовательность: 9, 171, 27, 4, 9, 59, 18, 4, 18, 81, 9, 581,... Продолжите её. Подскажу, что лет 10 назад её ра...
Темы
число
цифра
простые
геометрия
юмор
дроби
язык
степень
делимость
пи
методы
история
квадрат
самоописывающее
время
задача
система счисления
узор
корень
тригонометрия
структура
е
сайты
конструкция
формулы
игра
факториал
функции
приближение
программа
фрактал
комбинаторика
последовательность
график
память
логарифм
вероятность
палиндром
пределы
конкурс
треугольник
магический квадрат
неизвестное
правильно-неправильное действие
видео
интеграл
уравнение
комплексные
софизм
заблуждения
процесс
ряды
цитаты
книги
окружность
прогрессия
среднее
стереометрия
число фи
выражения
графы
матрица
проценты
разрезания
логика
парабола
символ
статистика
2014
Фибоначчи
клеточный автомат
кривая
производная
фокус
головоломка
действия
иллюзия
куб
шахматы
многоугольник
новости
оказывается
оригами
подобие
построение
сложение
термин
тетраэдр
топология
Не обязательно с длины 3. Можно с 1 начать. Просто этот способ хорош тем, что очень легко доказывается «греевость» нового построенного кода. Ну и программируется легко. В «Алгоритмических трюках для программистов» вроде ещё какие-то способы были. Не помню точно.
ОтветитьУдалитьДа-да, я просто показал только один шаг, а так выходит аналогично собиранию строки АВАСАВАDАВАСАВА
ОтветитьУдалить