A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers, while those that do not end in 1 are unhappy numbers (or sad numbers).
More formally, given a number , define a sequence , , ... where is the sum of the squares of the digits of . Then n is happy if and only if there exists i such that .
If a number is happy, then all members of its sequence are happy; if a number is unhappy, all members of the sequence are unhappy.
For example, 19 is happy, as the associated sequence is:
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1.
The 143 happy numbers up to 1,000 are:
- 1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100, 103, 109, 129, 130, 133, 139, 167, 176, 188, 190, 192, 193, 203, 208, 219, 226, 230, 236, 239, 262, 263, 280, 291, 293, 301, 302, 310, 313, 319, 320, 326, 329, 331, 338, 356, 362, 365, 367, 368, 376, 379, 383, 386, 391, 392, 397, 404, 409, 440, 446, 464, 469, 478, 487, 490, 496, 536, 556, 563, 565, 566, 608, 617, 622, 623, 632, 635, 637, 638, 644, 649, 653, 655, 656, 665, 671, 673, 680, 683, 694, 700, 709, 716, 736, 739, 748, 761, 763, 784, 790, 793, 802, 806, 818, 820, 833, 836, 847, 860, 863, 874, 881, 888, 899, 901, 904, 907, 910, 912, 913, 921, 923, 931, 932, 937, 940, 946, 964, 970, 973, 989, 998, 1000 (sequence A007770 in OEIS).
The happiness of a number is unaffected by rearranging the digits, and by inserting or removing any number of zeros anywhere in the number.
The distinct combinations of digits that form happy numbers below 1,000 follow (the rest are just rearrangements and/or insertions of zero digits):
- 1, 7, 13, 19, 23, 28, 44, 49, 68, 79, 129, 133, 139, 167, 188, 226, 236, 239, 338, 356, 367, 368, 379, 446, 469, 478, 556, 566, 888, 899. (sequence A124095 in OEIS).
If n is not happy, then its sequence does not go to 1. Instead, it ends in the cycle:
- 4, 16, 37, 58, 89, 145, 42, 20, 4, ...
To see this fact, first note that if n has m digits, then the sum of the squares of its digits is at most , or .
For and above,
so any number over 1000 gets smaller under this process and in particular becomes a number with strictly fewer digits. Once we are under 1000, the number for which the sum of squares of digits is largest is 999, and the result is 3 times 81, that is, 243.
- In the range 100 to 243, the number 199 produces the largest next value, of 163.
- In the range 100 to 163, the number 159 produces the largest next value, of 107.
- In the range 100 to 107, the number 107 produces the largest next value, of 50.
Considering more precisely the intervals [244,999], [164,243], [108,163] and [100,107], we see that every number above 99 gets strictly smaller under this process. Thus, no matter what number we start with, we eventually drop below 100. An exhaustive search then shows that every number in the interval [1,99] either is happy or goes to the above cycle.
The above work produces the interesting result that no positive integer other than 1 is the sum of the squares of its own digits, since any such number would be a fixed point of the described process.
There are infinitely many happy numbers and infinitely many unhappy numbers. Consider the following proof:
- 1 is a happy number, and for every n, 10n is happy since its sum is 1
- and for every n, 2 × 10n is unhappy since its sum is 4 and 4 is an unhappy number.
Indeed, the happiness of a number is preserved by removing or inserting zeroes at will, since they do not contribute to the cross sum. And as in the proof, especially by appending zeroes on the end of the number (by multiplying with 10n).
A happy prime is a number that is both happy and prime. The happy primes below 500 are
All numbers, and therefore all primes, of the form 10n + 3 or 10n + 9 for n greater than 0 are happy (This does not mean that these are the only happy primes, as evidenced by the sequence above). To see this, note that
- All such numbers will have at least two digits;
- The first digit will always be 1 due to the 10n
- The last digit will always be either 3 or 9.
- Any other digits will always be 0 (and therefore will not contribute to the sum of squares of the digits).
- The sequence for numbers ending in 3 is: 12 + 32 = 10 → 12 = 1
- The sequence for numbers ending in 9 is: 12 + 92 = 82 → 82 + 22 = 64 + 4 = 68 → 62 + 82 = 36 + 64 = 100 -> 1
The palindromic prime 10150006 + 7426247×1075000 + 1 is also a happy prime with 150,007 digits because the many 0's do not contribute to the sum of squared digits, and , which is a happy number. Paul Jobling discovered the prime in 2005.
Happy numbers in other bases
The definition of happy numbers depends on the decimal (i.e., base 10) representation of the numbers. The definition can be extended to other bases.
To represent numbers in other bases, we may use a subscript to the right to indicate the base. For instance, represents the number 4, and
Then, it is easy to see that there are happy numbers in every base. For instance, the numbers
are all happy, for any base b.
By a similar argument to the one above for decimal happy numbers, unhappy numbers in base b lead to cycles of numbers less than . If , then the sum of the squares of the base-b digits of n is less than or equal to
which can be shown to be less than , for . This shows that once the sequence reaches a number less than , it stays below , and hence must cycle or reach 1.
In base 2, all numbers are happy. All binary numbers larger than 10002 decay into a value equal to or less than 10002, and all such values are happy: The following four sequences contain all numbers less than :
Since all sequences end in 1, we conclude that all numbers are happy in base 2. This makes base 2 a happy base.
The only known happy bases are 2 and 4. There are no others less than 500,000,000.
Base 3 is also a special case in that the Happiness (or Sadness) of a number is an indication also of being odd (or Even). Specifically, because 3 - 1 = 2, the sum of every digit of a base 3 number will indicate divisibility by 2 IFF the sum of digits ends in 0 or 2. This is the general application of the test for 9-divisibility in base 10. Recall too that in Balanced Ternary, the digits are 1, -1 and 0. The square of both 1 and -1 are 1, and 1 + 1 is 2, which is the only Balanced Ternary cycle. For every pair of digits 1 or -1, their sum is 0 and the sum of their squares is 2 and if there are an even number of 1, -1 sets, the number divisible by 2 and Sad and if odd, it's Happy. In this case, the result always end in a one-digit cycle of 0, 1 or 2, repeated infinitely. In Unbalanced Ternary, the digits square to 1 and 4, and in this case there are 5 loops: 0, 1, 2→4→2, 5 and 8. While all even numbers are Sad because they end in the 0, 2 or 8 cycle, some odd numbers are also Sad because they end in 5 or 1, and are thus occasionally sad.
Cubing the digits rather than squaring
A variation to the happy numbers problem is to find the sum of the cubes of the digits rather than the sum of the squares of the digits. For example, working in base 10, 1579 is happy, since:
In the same way that when summing the squares of the digits (and working in base 10) each number above 243(=3*81) produces a number which is strictly smaller, when summing the cubes of the digits each number above 2916(=4*729) produces a number which is strictly smaller.
By conducting an exhaustive search of [1,2916] one finds that for summing the cubes of digits base 10 there are happy numbers and eight different types of unhappy number:
those that eventually reach or which perpetually produce themselves.
those that eventually reach the loops:
as well as those that alternate between and or between and .
All multiples of three end in 153. This fact can be proved by the exhaustive search up and noting that a number is a multiple of three if and only if the sum of digits is a multiple of three if and only if the sum of its cubed digits are a multiple of three. By similar reasoning, all happy numbers when summing up odd powers (e.g. cubes, 5th powers, 7th powers, etc) of their digits must have a remainder of 1 when dividing by 3.
All numbers that are congruent to 2 (mod 3) end in either 371 or 407.
For higher powers, not many happy numbers exist.
For fourth powers, at least, in the range 1 through 100, for example, only 1 and 10 are happy.
Taking the sum of the fourth powers of the digits, one can find that most numbers end in the loop:
13139, 6725, 4338, 4514, 1138, 4179, 9219, 13139, 6725, 4338, 4514, 1138, 4179, 9219, etc.
as well as those that end in 2178, 6514, 2178, 6514... as well as , or which perpetually produce themselves.
The origin of happy numbers is not clear. Happy numbers were brought to the attention of Reg Allenby (a British author and Senior Lecturer in pure mathematics at Leeds University) by his daughter, who had learned of them at school. However, they "may have originated in Russia" (Guy 2004:§E34).
In the 2007 Doctor Who episode "42", a sequence of happy primes (313, 331, 367, 379) is used as a code for unlocking a sealed door on a spaceship about to collide with a star. When the Doctor learns that nobody on the spaceship besides himself has heard of happy numbers, he asks, "Don't they teach recreational mathematics anymore?"
The contestants in the 2012 University Challenge final were asked to identify a sequence of numbers as happy primes in a picture round.
The examples below apply the 'happy' process described in the definition of happy given at the top of this article, repeatedly; after each time, they check for both halt conditions: reaching 1, and repeating a number. Everything else is book-keeping (for example, the Python example precomputes the squares of all 10 digits).
def square(x): return int(x) * int(x) def happy(number): return sum(map(square, list(str(number)))) def is_happy(number): seen_numbers = set() while number > 1 and (number not in seen_numbers): seen_numbers.add(number) number = happy(number) return number == 1
When the algorithm ends in a cycle of repeating numbers, this cycle always includes the number 4, so it is not even necessary to store previous numbers in the sequence:
def is_happy(number): if number == 1: return True elif number == 4: return False else: return is_happy(happy(number))
- "Sad Number". Wolfram Research, Inc. Retrieved 2009-09-16.
- "Lower of pair of consecutive happy numbers". Online Encyclopedia of Integer Sequences. Retrieved 8 April 2011.
- "First of triples of consecutive happy numbers". Online Encyclopedia of Integer Sequences. Retrieved 8 April 2011.
- Chris K. Caldwell. "The Prime Database: 10^150006+7426247*10^75000+1". utm.edu.
- Chris K. Caldwell. "The Prime Database: 2^42643801-1". utm.edu.
- "Sloane's A161872 : Smallest unhappy number in base n", The On-Line Encyclopedia of Integer Sequences. OEIS Foundation.
- Happy Number Rosetta Code
- Guy, Richard (2004). Unsolved Problems in Number Theory (3rd ed.). Springer-Verlag. ISBN 0-387-20860-7.
- Schneider, Walter: Mathews: Happy Numbers.
- Weisstein, Eric W., "Happy Number", MathWorld.
- Happy Numbers at The Math Forum.
- 145 and the Melancoil at Numberphile.
- Symonds, Ria. "7 and Happy Numbers". Numberphile. Brady Haran.