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.

A278038 Binary vectors not containing three consecutive 1's; or, representation of n in the tribonacci base.

Original entry on oeis.org

0, 1, 10, 11, 100, 101, 110, 1000, 1001, 1010, 1011, 1100, 1101, 10000, 10001, 10010, 10011, 10100, 10101, 10110, 11000, 11001, 11010, 11011, 100000, 100001, 100010, 100011, 100100, 100101, 100110, 101000, 101001, 101010, 101011, 101100, 101101, 110000, 110001, 110010, 110011, 110100, 110101, 110110, 1000000
Offset: 0

Views

Author

N. J. A. Sloane, Nov 16 2016

Keywords

Comments

These are the nonnegative numbers written in the tribonacci numbering system.

Examples

			The tribonacci numbers (as in A000073(n), for n >= 3) are 1, 2, 4, 7, 13, 24, 44, 81, ... In terms of this base, 7 is written 1000, 8 is 1001, 11 is 1100, 12 is 1101, 13 is 10000, etc. Zero is 0.
		

Crossrefs

Cf. A000073, A080843 (tribonacci word, tribonacci tree).
See A003726 for the decimal representations of these binary strings.
Similar sequences: A014417 (Fibonacci), A130310 (Lucas).

Programs

  • Maple
    # maximum index in A73 such that A73 <= n.
    A73floorIdx := proc(n)
        local k ;
        for k from 3 do
            if A000073(k) = n then
                return k ;
            elif A000073(k) > n then
                return k -1 ;
            end if ;
        end do:
    end proc:
    A278038 := proc(n)
        local k,L,nres ;
        if n = 0 then
            0;
        else
            k := A73floorIdx(n) ;
            L := [1] ;
            nres := n-A000073(k) ;
            while k >= 4 do
                k := k-1 ;
                if nres >= A000073(k) then
                    L := [1,op(L)] ;
                    nres := nres-A000073(k) ;
                else
                    L := [0,op(L)] ;
                end if ;
            end do:
            add( op(i,L)*10^(i-1),i=1..nops(L)) ;
        end if;
    end proc:
    seq(A278038(n),n=0..40) ; # R. J. Mathar, Jun 08 2022
  • Mathematica
    t[1] = 1; t[2] = 2; t[3] = 4; t[n_] := t[n] = t[n - 1] + t[n - 2] + t[n - 3]; a[n_] := Module[{s = {}, m = n, k}, While[m > 0, k = 1; While[t[k] <= m, k++]; k--; AppendTo[s, k]; m -= t[k]; k = 1]; FromDigits @ IntegerDigits[Total[2^(s - 1)], 2]]; Array[a, 100, 0] (* Amiram Eldar, Mar 04 2022 *)