login
Let f(n) be the number of segments shown on a digital calculator to display n. Then a(n) is the number of terms in the sequence formed by iteration n -> f(n) until n = f(n).
3

%I #28 Oct 27 2020 17:24:37

%S 3,2,2,1,1,1,3,4,2,5,2,4,4,2,4,5,2,3,5,3,4,6,6,3,6,3,5,5,3,3,4,6,6,3,

%T 6,3,5,5,3,6,2,3,3,5,3,6,4,3,6,3,4,6,6,3,6,3,5,5,3,5,5,3,3,6,3,5,3,5,

%U 5,3,2,5,5,4,5,3,2,6,3,5,3,5,5,3,5,5,6,3

%N Let f(n) be the number of segments shown on a digital calculator to display n. Then a(n) is the number of terms in the sequence formed by iteration n -> f(n) until n = f(n).

%C Type n on a calculator and count the segments on a calculator display that forms the number. Iterate until you reach a fixed point: 4, 5 or 6. a(n) is the length of the chain.

%H Chai Wah Wu, <a href="/A328330/b328330.txt">Table of n, a(n) for n = 1..10000</a>

%e The 12th term is 4 as 12 -> 7 -> 3 -> 5 is a chain of 4.

%e a(8) = 4 because 8 -> 7 -> 3 -> 5 is a chain of length 4.

%o (PARI) a(n) = {my(res = 0, on = n, nn = n, cn); while(nn != cn, nn = f(on); cn = on; on = nn; res++); res}

%o f(n) = {my(d = digits(n), x = [6, 2, 5, 5, 4, 5, 6, 3, 7, 6]); sum(i = 1, #d, x[d[i]+1])} \\ _David A. Corneth_, Oct 12 2019

%o (Python)

%o def f(n):

%o return sum((6, 2, 5, 5, 4, 5, 6, 3, 7, 6)[int(d)] for d in str(n))

%o def A328330(n):

%o c, m = 1, f(n)

%o while m != n:

%o c += 1

%o n, m = m, f(m)

%o return c # _Chai Wah Wu_, Oct 27 2020

%Y Cf. A006942, A338255.

%K nonn,base

%O 1,1

%A _Karl Aughton_, Oct 12 2019