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.

A182653 Floor-sum sequence of r with r = golden ratio = (1+sqrt(5))/2 and a(1)=1, a(2)=2.

Original entry on oeis.org

1, 2, 4, 8, 9, 14, 16, 17, 19, 21, 24, 25, 27, 29, 30, 32, 33, 35, 37, 38, 40, 42, 43, 45, 46, 48, 50, 51, 53, 55, 56, 58, 59, 61, 63, 64, 66, 67, 69, 71, 72, 74, 76, 77, 79, 80, 82, 84, 85, 87, 88, 90, 92, 93, 95, 97, 98, 100, 101, 103, 105
Offset: 1

Views

Author

Clark Kimberling, Nov 26 2010

Keywords

Comments

Let S be the set generated by these rules:
(1) if m and n are in S and m
(2) one or more specific numbers are in S by decree.
The floor-sum sequence determined by (1) and (2) results by arranging the elements of S in strictly increasing order.

Examples

			Viewing the floor-sum as a binary operation o, we create S in successive generations:
1, 2 (0th generation);
1o2=4 (1st generation);
1o4=8, 2o4=9 (2nd generation);
1o8=14, 2o8=16, 4o8=19 and four others (3rd generation).
		

Crossrefs

Programs

  • Maple
    A182653 := proc(amax)
            a := {1,2} ;r := (1+sqrt(5))/2 ;
            while true do
                    anew := {} ;
                    for i in a do
                    for j in a do
                            if i <> j then
                                    S := floor(r*(i+j)) ;
                                    if is(S <= amax) then
                                            anew := anew union { S };
                                    end if;
                            end if;
                    end do:
                    end do:
                    if a union anew = a then
                            return sort(a) ;
                    end if;
                    a := a union anew ;
            end do:
    end proc:
    A182653(106) ;
  • PARI
    lista(nn) = my(S=[1, 2], r=(1+sqrt(5))/2, new, k); while(1, new=[]; for(m=1, #S, for(n=m+1, #S, k=floor(r*(S[m]+S[n])); if(k<=nn, new=setunion(new,[k])))); if(S==setunion(S,new), return(S)); S=setunion(S,new)) \\ Iain Fox, Apr 24 2019