From: Paul Lutus Date: 2006-09-02T10:00:27+09:00 Subject: Re: Happy Numbers (#93) Hans Fugal wrote: / ... >> As I understand the Wolfram article, an unhappy number never hits 1 as a >> result, whereas a happy number eventually hits 1: > > What you have described here is the halting problem. Good luck with that. Possibly, I haven't thought it through. I can't find any numbers that fail to get to either 1 or 4 in a short time. Doesn't mean they aren't out there. >> "Unhappy numbers have eventually periodic sequences of s(sub)i which >> never reach 1." > > And what stops it from being a 1x10^50 length period, or any arbitrary > length? As the algorithm proceeds, the length of the numbers tends to decline, until it reaches one of 0,1, or 4. The first two are dead ends, the third cycles a short loop forever, such that it is adequate to detect one of [ 0,1,4 ] as a halting criterion. >> The quiz item emphasizes a criterion that is only mentioned in passing on >> the Wolfram page, that is, there are degrees of happiness, and a number >> that has many happy predecessors is, umm, more happy. So a relatively >> large number that eventually results in 1, but with a lot of steps along >> the way (therefore more happy ancestors), is happier. > > And what the quiz neglected to mention is that there is an easy test for > unhappy number, which the mathworld page enumerates: > > Iterating this sum-of-squared-digits map always eventually > reaches one of the 10 numbers 0, 1, 4, 16, 20, 37, 42, 58, 89, > or 145 (Sloane's A039943; Porges 1945). > > So if you hit one of those unhappy numbers you know you're in an unhappy > loop. My relatively unsophisticated program simply loops and halts on reaching 0,1 or 4. -- Paul Lutus http://www.arachnoid.com