cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A096381 Beginning with 2, 7, multiply successive pairs of members and adjoin the result as the next one or two members of the sequence, depending on whether the product is a one- or two-digit number.

Original entry on oeis.org

2, 7, 1, 4, 7, 4, 2, 8, 2, 8, 8, 1, 6, 1, 6, 1, 6, 6, 4, 8, 6, 6, 6, 6, 6, 3, 6, 2, 4, 3, 2, 4, 8, 3, 6, 3, 6, 3, 6, 3, 6, 1, 8, 1, 8, 1, 2, 8, 1, 2, 6, 8, 3, 2, 2, 4, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 6, 8, 8, 8, 8, 2, 1, 6, 8, 2, 1, 2, 4, 8, 2, 4, 6, 4, 8, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 8
Offset: 1

Views

Author

Gerry Myerson, Aug 04 2004

Keywords

Comments

Berzsenyi sets the puzzle of showing that 6 occurs infinitely often in the sequence. It is easy to compose variations on the sequence, e.g., vary a(1) and a(2), or use a base other than 10, or use the product of three successive members instead of 2.

Examples

			a(1)a(2) = 14, so a(3) = 1 and a(4) = 4.
		

References

  • George Berzsenyi, Competition Corner problem 468, The Mathematics Student (published by NCTM), Vol. 26, No. 2, November 1978.
  • Loren C. Larson, Problem-Solving Through Problems, Springer, 1983, page 8, Problem 1.1.6.

Crossrefs

Programs

  • Haskell
    a=2:7:concat[(if x*y>9then[x*y`div`10]else[])++[x*y`mod`10]|(x,y)<-a`zip`tail a] -- Paul Stoeber (pstoeber(AT)uni-potsdam.de), Oct 08 2005
    
  • Maple
    R:= 2,7: count:= 2:
    for i from 1 while count < 200 do
      t:= R[i]*R[i+1];
      if t >= 10 then R:= R, floor(t/10),t mod 10; count:= count+2 else R:= R, t;
    count:= count+1 fi;
    od:
    R; # Robert Israel, Jan 16 2018
  • Mathematica
    Fold[Join[#, IntegerDigits[Times @@ #[[#2;;#2+1]]]] &, {2, 7}, Range[100]] (* Paolo Xausa, Aug 17 2025 *)
  • Python
    from itertools import islice
    from collections import deque
    def agen(): # generator of terms
        a = deque([2, 7])
        while True:
            a.extend(list(map(int, str(a[0]*a[1]))))
            yield a.popleft()
    print(list(islice(agen(), 105))) # Michael S. Branicky, Aug 18 2025

Extensions

Corrected by Robert Israel, Jan 16 2018