Калькулятор чисел Хэмминга (регулярных чисел)

Числа Хэмминга — натуральные числа, у которых нет простых делителей, кроме 2, 3 и 5. Калькулятор найдёт n-е число Хэмминга с разложением 2ᵃ·3ᵇ·5ᶜ, выведет список первых чисел, проверит любое число, определит его номер в последовательности и ближайшие числа Хэмминга сверху и снизу.

Что найти
От 1 до 100 000
Результат—
Разложение—
Соседние числа Хэмминга—

Список

Рекламный блок «после калькулятора» (ads/after-calc.html)

Что такое числа Хэмминга

Числа Хэмминга (регулярные числа, 5-гладкие числа) — это натуральные числа вида

H = 2a · 3b · 5c, a, b, c ≥ 0

то есть числа, которые делятся только на 2, 3 и 5. Последовательность начинается так: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30… Числа 7, 11, 13, 14 в неё не входят — у них есть простые делители больше 5.

Название связано с Ричардом Хэммингом, который предложил задачу: вывести эти числа по возрастанию без пропусков и повторов. Эдсгер Дейкстра сделал её классическим примером элегантного алгоритма. Кодам Хэмминга и расстоянию Хэмминга эти числа родственны только по имени.

Как их найти

Каждое число Хэмминга, кроме 1, получается умножением меньшего числа Хэмминга на 2, 3 или 5. Поэтому последовательность строят тремя «указателями»: следующее число — минимум из 2·Hi, 3·Hj, 5·Hk, после чего сдвигаются указатели, давшие этот минимум. Алгоритм находит первые n чисел за n шагов.

Чтобы проверить число, его делят на 2, 3 и 5, пока делится. Если в итоге осталась единица — это число Хэмминга.

Рекламный блок «внутри статьи» (ads/in-article.html)

Пример

1691-е число Хэмминга — 2 125 764 000 = 2⁵ · 3¹² · 5³. Это последнее число Хэмминга, которое помещается в 31 бит — его часто используют для проверки программ. Число 2026 = 2 · 1013 — не число Хэмминга, ближайшие к нему 2025 = 3⁴ · 5² и 2048 = 2¹¹.

Где встречаются

  • Быстрое преобразование Фурье. БПФ работает быстрее всего на длинах, раскладывающихся на малые множители. Библиотеки дополняют массивы до ближайшего числа Хэмминга.
  • Вавилонская математика. В шестидесятеричной системе дробь 1/n записывается конечной, только если n — регулярное число. Вавилонские таблицы обратных величин состоят из таких чисел.
  • Музыка. В пятипредельном строе интервалы задаются отношениями чисел Хэмминга: 3/2 — квинта, 5/4 — большая терция.
  • Удобные размеры. Делимость на 2, 3 и 5 делает числа вроде 60, 360 и 3600 удобными для деления на равные части — отсюда минуты, градусы и часы.
Рекламный блок «внизу страницы» (ads/bottom.html)