Wolfram Function Repository
Instantuse addon functions for the Wolfram Language
Function Repository Resource:
Find a near minimal set of marks for an integer length ruler so that all smaller integer distances are measurable
ResourceFunction["ReasonableRuler"][length] finds a set of integers with differences giving all values up to length using a compact form. 

ResourceFunction["ReasonableRuler"][length,"Full"] finds a reasonable ruler for given length, showing the full set of values. 
Marks for a sparse ruler of length 57:
In[1]:= 

Out[1]= 

Check that all differences are covered:
In[2]:= 

Out[2]= 

Show spaces between marks in a the full form of a length 396 ruler:
In[3]:= 

Out[3]= 

Split the Difference:
In[4]:= 

Out[4]= 

Make a series of lists from the compact form of a length 396 ruler:
In[5]:= 

Out[5]= 

Show the compact form:
In[6]:= 

Out[6]= 

Verify the above shortened form has length 396:
In[7]:= 

Out[7]= 

Show the full form for a length 396 ruler:
In[8]:= 

Out[8]= 

Count the number of marks on a length 58 ruler:
In[9]:= 

Out[9]= 

The excess of a ruler with length L and M marks is :
In[10]:= 

Out[10]= 

A reasonable ruler has an excess of 0 or 1:
In[11]:= 

Out[15]= 

A list of some rulers with a single mark less than those generated by this function:
In[16]:= 

Show the length 999 ruler with one fewer marks:
In[17]:= 

Out[21]= 

Show how the John Leech upper bound for the number of marks in a complete ruler compares to functiongenerated rulers:
In[22]:= 

Out[22]= 

Generate rulers of length n! and plot the number of marks:
In[23]:= 

Out[23]= 

Show the marks for the first 51 rulers:
In[24]:= 

Out[24]= 

Show the excess values for the first 51 rulers:
In[25]:= 

Out[25]= 

Show the default shortened form for a length googol ruler:
In[26]:= 

Out[26]= 

Show the number of marks in a length googol ruler:
In[27]:= 

Out[27]= 

Showing the full form of a googollength ruler isn’t recommended.
Generate reasonable rulers for various integer powers and calculate their excess:
In[28]:= 

Out[28]= 

All rulers to length 213 are minimal. Show a pixel representation of these sparse rulers:
In[29]:= 

Out[29]= 

The maximal length for a given number of marks is usually a Wichmann value:
In[30]:= 

Out[30]= 

Arrange lengths in columns ending in Wichmann values and bold the lengths with excess 1:
In[31]:= 

Out[31]= 

This work is licensed under a Creative Commons Attribution 4.0 International License