В теории чисел функция-линейка целого числа может быть одной из двух тесно связанных функций. Одна из этих функций подсчитывает количество раз, которое может быть разделено на два без остатка, что для чисел 1, 2, 3, ... равно
Альтернативно, функцию линейки можно определить как те же числа плюс один, что для чисел 1, 2, 3, ... дает последовательность
Помимо того, что они связаны добавлением единицы, эти две последовательности связаны и другим образом: вторая может быть образована из первой путем удаления всех нулей, а первая может быть образована из второй путем добавления нулей в начале и между каждой парой чисел. Для любого определения функции линейки закономерности роста и падения значений этой функции напоминают длины отметок на линейках с традиционными единицами измерения, такими как дюймы . Эти функции следует отличать от функции Томаэ , функции на действительных числах , которая ведет себя аналогично функции линейки, когда ограничена двоичными рациональными числами .
В высшей математике функция линейки, основанная на 0, является 2-адической оценкой числа, [1] и лексикографически самым ранним бесконечным бесквадратным словом над натуральными числами. [2] Она также дает положение бита, который изменяется на каждом шаге кода Грея . [3]
В головоломке «Ханойская башня» , где диски головоломки пронумерованы в порядке их размера, функция линейки, основанная на 1, дает номер диска, который нужно переместить на каждом шаге в оптимальном решении головоломки. [4] Моделирование головоломки в сочетании с другими методами генерации ее оптимальной последовательности ходов может быть использовано в алгоритме для генерации последовательности значений функции линейки за постоянное время на значение. [3]