[Edu-sig] Mystery Number 6174

Scott David Daniels Scott.Daniels at Acm.Org
Sun Jul 6 22:54:34 CEST 2008


kirby urner wrote:
> Yutaka Nishiyama has this interesting article in the March 2006 issue
> of Plus, entitled 'Mysterious number 6174'.
> 
> The theorem in this article is as follows: any 4-digit positive
> integer, stipulating all 4 digits *not* be the same one, may be
> distilled to 6174 by the following
> process: extract the largest and smallest two integers from the 4
> digits and subtract the smaller from the larger, and repeat as
> necessary.
...
> Here's one way to test the result.  Think of a different way?

def counts(limit=7, closer=6174):
     counts = [0] * limit
     exceptions = set()
     for ournum in range(10000):
         start = quad = ''.join(sorted('%04d' % ournum))
         if quad[0] == quad[3] or quad in exceptions:
             continue
         for distance in range(limit):
             diff = int(''.join(reversed(quad))) - int(quad)
             if diff == closer:
                 break
             quad = ''.join(sorted('%04d' % diff))
         else:
             exceptions.add(start)
         counts[distance] += 1
     return counts, sorted(exceptions)

-Scott



More information about the Edu-sig mailing list