A090425 Number of iterations required for happy number A007770(n) to converge to 1.
1, 6, 2, 3, 5, 4, 4, 3, 4, 5, 5, 3, 6, 4, 4, 3, 5, 5, 4, 2, 3, 5, 4, 3, 6, 6, 4, 4, 5, 5, 4, 6, 4, 4, 4, 6, 4, 6, 6, 6, 6, 4, 4, 6, 3, 4, 3, 6, 6, 4, 6, 6, 6, 5, 7, 6, 7, 6, 6, 6, 7, 5, 6, 6, 6, 7, 5, 5, 5, 4, 4, 7, 5, 5, 5, 7, 7, 4, 7, 4, 5, 3, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7, 4, 5, 5, 4, 6, 3, 6, 7, 6, 4
Offset: 1
Examples
7 is the 2nd happy number and iterated digit squarings and additions give the sequence {7,49,97,130,10,1}, so a(2)=6.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
- T. Cai and Xia Zhou, On the heights of happy numbers, Rocky Mount. J. Math. 38 (6) (2008) 1921-1926. [From _R. J. Mathar_, Apr 22 2010]
- Eric Weisstein's World of Mathematics, Happy Number.
Programs
-
Haskell
a090425 n = snd $ until ((== 1) . fst) (\(u, v) -> (a003132 u, v + 1)) (a007770 n, 1) -- Reinhard Zumkeller, Aug 07 2012
-
Mathematica
happy[n_] := If[(list = NestWhileList[Plus @@ (IntegerDigits[#]^2) &, n, UnsameQ, All])[[-1]] == 1, Length[list] - 1, Nothing]; Array[happy, 700] (* Amiram Eldar, Apr 12 2022 *)
-
Python
from itertools import count, islice def A090425_gen(): # generator of terms for n in count(1): c = 1 while n not in {1,37,58,89,145,42,20,4,16}: n = sum((0, 1, 4, 9, 16, 25, 36, 49, 64, 81)[ord(d)-48] for d in str(n)) c += 1 if n == 1: yield c A090425_list = list(islice(A090425_gen(),20)) # Chai Wah Wu, Aug 02 2023
Comments