Ещё один простой способ генерации кода Грея связан со следующим процессом:
Начинаем с буквы А. Далее поступаем по следующем правилу: приписываем справа следующую букву, а после неё - повторяем все ранее записанные символы. После первого шага получим строку
АВА
После второго: АВАСАВА
После третьего:
АВАСАВА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) и т.д.на прямоугольной системе координат...
-
Давайте начнём новый, 2022й год с интересной задачи. Рассмотрим квадратную таблицу. Попробуем её заполнить натуральными числами так, чтобы с...
-
Ещё одна задачка про матрицы. Рассмотрим матрицы 3х3, элементами которых могут быть только нули, единицы и двойки. Всего таким матриц будет ...
-
Для числа 12 на математических часах я выбрал одну их наиболее парадоксальных формул, согласно которой сумма всего бесконечного множества на...
-
Чтобы возвести в квадрат число, оканчивающееся пятёркой, нужно умножить число, полученное отбрасыванием последней пятёрки на следующее в нат...
-
Многих школьников, и не только, занимает вопрос: почему умножение и деление выполняются до сложения и вычитания? В рунете на этот вопрос н...
Темы
число
цифра
простые
геометрия
юмор
дроби
язык
степень
делимость
пи
методы
история
квадрат
самоописывающее
время
задача
система счисления
узор
корень
тригонометрия
структура
е
сайты
конструкция
формулы
игра
факториал
функции
приближение
программа
фрактал
комбинаторика
последовательность
график
память
логарифм
вероятность
палиндром
пределы
конкурс
треугольник
магический квадрат
неизвестное
правильно-неправильное действие
видео
интеграл
уравнение
комплексные
софизм
заблуждения
процесс
ряды
цитаты
книги
окружность
прогрессия
среднее
стереометрия
число фи
выражения
графы
матрица
проценты
разрезания
логика
парабола
символ
статистика
2014
Фибоначчи
клеточный автомат
кривая
производная
фокус
головоломка
действия
иллюзия
куб
шахматы
многоугольник
новости
оказывается
оригами
подобие
построение
сложение
термин
тетраэдр
топология
Не обязательно с длины 3. Можно с 1 начать. Просто этот способ хорош тем, что очень легко доказывается «греевость» нового построенного кода. Ну и программируется легко. В «Алгоритмических трюках для программистов» вроде ещё какие-то способы были. Не помню точно.
ОтветитьУдалитьДа-да, я просто показал только один шаг, а так выходит аналогично собиранию строки АВАСАВАDАВАСАВА
ОтветитьУдалить