Ruler function

In number theory, the ruler function of an integer $$n$$ can be either of two closely related functions. One of these functions counts the number of times $$n$$ can be evenly divided by two, which for the numbers 1, 2, 3, ... is

Alternatively, the ruler function can be defined as the same numbers plus one, which for the numbers 1, 2, 3, ... produces the sequence

As well as being related by adding one, these two sequences are related in a different way: the second one can be formed from the first one by removing all the zeros, and the first one can be formed from the second one by adding zeros at the start and between every pair of numbers. For either definition of the ruler function, the rising and falling patterns of the values of this function resemble the lengths of marks on rulers with traditional units such as inches. These functions should be distinguished from Thomae's function, a function on real numbers which behaves similarly to the ruler function when restricted to the dyadic rational numbers.

In advanced mathematics, the 0-based ruler function is the 2-adic valuation of the number, and the lexicographically earliest infinite square-free word over the natural numbers. It also gives the position of the bit that changes at each step of the Gray code.

In the Tower of Hanoi puzzle, with the disks of the puzzle numbered in order by their size, the 1-based ruler function gives the number of the disk to move at each step in an optimal solution to the puzzle. A simulation of the puzzle, in conjunction with other methods for generating its optimal sequence of moves, can be used in an algorithm for generating the sequence of values of the ruler function in constant time per value.