# Sunday Times Teaser 2625 – Mind the Gap

*by Nick MacKinnon*

If all ten digit numbers with no repeated digits are listed in increasing order, the first is 1023456789 and the last is 9876543210.

The difference between consecutive numbers in this list is never equal to the average of all such differences.

What is the value of the difference that is closest to their average?

4 Comments
Leave one →

Here is my solution:

Another solution:

HI Arthur

Your method of generating the numbers looked slow to me so I tried out three methods on Python 3 using the following code:

The result I got is:

String: 09.64 seconds

Reduce: 23.88 seconds

Sum: 76.88 seconds

which confirmed my gut feeling. However, these times might be Python 3 specific so it would be interesting to see how Python 2 and PyPy fare on this.

Admittedly not one of my fastest bits of Python. However, the variation in timings is far less with Python 2.7.3:

String: 08.28 seconds

Reduce: 09.09 seconds

Sum: 17.19 seconds