A Golomb ruler is a sparse ruler, where the pairs of marks all measure different distances. For instance, [0,1,4] is Golomb as the measurable distances are all distinct: 1,3,4. However [0,1,2] is not Golomb as the pairs (0, 1) and (1,2) measure the same distance. (a) Write a function is my rulergolomb (myruler) which takes as input a list representing a sparse ruler of reach N and returns True if it is Golomb and False otherwise. Hint: Loop through the ruler's list of differences, and count how many times each occurs. (The code mylist.count(k) will return the number of times k appears in my list.)
An ordinary ruler is a straight piece of wood where distances 0, 1, 2 . . . , N are marked, for some N ≥ 1. A sparse ruler (or simply a ruler ) is an ordinary ruler from which some of the numbers 1, . . . , N −1 may have been deleted. The number of marks on the ruler is its order and the value N is its reach. Here, we will represent a ruler as a Python list of strictly increasing integers starting with 0. For instance [0,1,3,7] is a ruler of order 4 and reach 7.
A sparse ruler of reach N is complete if it is possible to measure all distances between 1 and N by taking the dierences between two marks. For instance [0,1,3] is complete because the pairs (0, 1), (1, 3), and (0, 3) yield distances of 1, 2, and 3 respectively. (Note that the pair of marks do not need to be consecutive.) On the other hand, [0,1,4] is not complete as there is no way to measure a distance of 2.
could you please provide the code for this question in python , the parts in bold explain some of the concepts in this question to help .
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images