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.

Showing 1-7 of 7 results.

A070882 Least k such that A070867(k) = n, or 0 if no such k exists.

Original entry on oeis.org

1, 3, 7, 6, 12, 16, 0, 11, 21, 23, 20, 18, 24, 0, 33, 25, 36, 37, 38, 28, 34, 40, 31, 47, 81, 44, 0, 45, 0, 57, 62, 66, 48, 61, 84, 52, 0, 67, 55, 69, 85, 97, 63, 76, 103, 109, 131, 79, 87, 118, 0, 86, 95, 139, 102, 80, 107, 113, 0, 91, 101, 133, 183, 134, 158, 104, 0, 141
Offset: 1

Views

Author

Robert G. Wilson v, May 20 2002

Keywords

Comments

a(n) = 0 for n = 7, 14, 27, 29, 37, 51, 59, 67, 88, 90, 97, 103, 106, 140, 156, 157, 158, 167, 174, 175, 177, 179, 193, 195, 199, 201, 207, 211, 215, 235, 241, 245, 250, 252, 258, 277, 282, 291, 294, 298, 300, 302, 305, 306, 317, 323, 327, 328, 329, 343, 346, 348, ...

Crossrefs

Cf. A070867.

Programs

  • Mathematica
    a[1] = a[2] = 1; a[n_] := a[n] = a[n - 1 - a[n - 1]] + a[n - 1 - a[n - 2]]; = Table[0, {100}]; Do[c = a[n]; If[c < 101 && b[[c]] == 0, b[[c]] = n], {n, 1, 10^3}]; b

A005185 Hofstadter Q-sequence: a(1) = a(2) = 1; a(n) = a(n-a(n-1)) + a(n-a(n-2)) for n > 2.

Original entry on oeis.org

1, 1, 2, 3, 3, 4, 5, 5, 6, 6, 6, 8, 8, 8, 10, 9, 10, 11, 11, 12, 12, 12, 12, 16, 14, 14, 16, 16, 16, 16, 20, 17, 17, 20, 21, 19, 20, 22, 21, 22, 23, 23, 24, 24, 24, 24, 24, 32, 24, 25, 30, 28, 26, 30, 30, 28, 32, 30, 32, 32, 32, 32, 40, 33, 31, 38, 35, 33, 39, 40, 37, 38, 40, 39
Offset: 1

Views

Author

Simon Plouffe and N. J. A. Sloane, May 20 1991

Keywords

Comments

Rate of growth is not known. In fact it is not even known if this sequence is defined for all positive n.
Roman Pearce, Aug 29 2014, has computed that a(n) exists for n <= 10^10. - N. J. A. Sloane
a(n) exists for n <= 3*10^10. - M. Eric Carr, Jul 02 2023

Examples

			a(18) = 11 because a(17) is 10 and a(16) is 9, so we take a(18 - 10) + a(18 - 9) = a(8) + a(9) = 5 + 6 = 11.
		

References

  • B. W. Conolly, "Meta-Fibonacci sequences," in S. Vajda, editor, Fibonacci and Lucas Numbers and the Golden Section. Halstead Press, NY, 1989, pp. 127-138.
  • R. K. Guy, Unsolved Problems in Number Theory, Sect. E31.
  • D. R. Hofstadter, Goedel, Escher, Bach: an Eternal Golden Braid, Random House, 1980, p. 138.
  • N. J. A. Sloane and Simon Plouffe, The Encyclopedia of Integer Sequences, Academic Press, 1995 (includes this sequence).
  • S. Vajda, Fibonacci and Lucas Numbers and the Golden Section, Wiley, 1989, see p. 129.
  • S. Wolfram, A New Kind of Science, Wolfram Media, 2002; p. 129.

Crossrefs

Cf. A081827 (first differences).
Cf. A226244, A226245 (record values and where they occur).
See A244477 for a different start.

Programs

  • C
    #include 
    #define LIM 20
    int Qa[LIM];
    int Q(int n){if (n==1 || n==2){return 1;} else{return Qa[n-Qa[n-1]]+Qa[n-Qa[n-2]];}}
    int main(){int i;printf("n\tQ\n");for(i=1; iGonzalo Ciruelos, Aug 01 2013
    
  • Haskell
    a005185 n = a005185_list !! (n-1)
    a005185_list = 1 : 1 : zipWith (+)
       (map a005185 $ zipWith (-) [3..] a005185_list)
       (map a005185 $ zipWith (-) [3..] $ tail a005185_list)
    -- Reinhard Zumkeller, Jun 02 2013, Sep 15 2011
    
  • Magma
    I:=[1,1]; [n le 2 select I[n] else Self(n-Self(n-1))+Self(n-Self(n-2)): n in [1..90]]; // Vincenzo Librandi, Aug 08 2014
    
  • Maple
    A005185 := proc(n) option remember;
        if n<=2 then 1
        elif n > procname(n-1) and n > procname(n-2) then
            RETURN(procname(n-procname(n-1))+procname(n-procname(n-2)));
        else
            ERROR(" died at n= ", n);
        fi; end proc;
    # More generally, the following defines the Hofstadter-Huber sequence Q(r,s) - N. J. A. Sloane, Apr 15 2014
    r:=1; s:=2;
    a:=proc(n) option remember; global r,s;
    if n <= s then  1
    else
        if (a(n-r) <= n) and (a(n-s) <= n) then
        a(n-a(n-r))+a(n-a(n-s));
        else lprint("died with n =",n); return (-1);
        fi; fi; end;
    [seq(a(n), n=1..100)];
  • Mathematica
    a[1]=a[2]=1; a[n_]:= a[n]= a[n -a[n-1]] + a[n -a[n-2]]; Table[ a[n], {n,70}]
  • MuPAD
    q:=proc(n) option remember; begin if n<=2 then 1 else q(n-q(n-1))+q(n-q(n-2)) end_if; end_proc: q(i)$i=1..100; // Zerinvary Lajos, Apr 03 2007
    
  • PARI
    {a(n)= local(A); if(n<1, 0, A=vector(n,k,1); for(k=3, n, A[k]= A[k-A[k-1]]+ A[k-A[k-2]]); A[n])} /* Michael Somos, Jul 16 2007 */
    
  • Python
    from functools import lru_cache
    @lru_cache(maxsize=None)
    def a(n):
        if n < 3: return 1
        return a(n - a(n-1)) + a(n - a(n-2))
    print([a(n) for n in range(1, 75)]) # Michael S. Branicky, Jul 26 2021
  • Sage
    @CachedFunction
    def a(n):
        if (n<3): return 1
        else: return a(n -a(n-1)) + a(n -a(n-2))
    [a(n) for n in (1..70)] # G. C. Greubel, Feb 13 2020
    
  • Scheme
    (define q (lambda (n) (cond ( (eqv? n 0) 1) ( (eqv? n 1) 1) ( #t (+ (q (- n (q (- n 1)))) (q (- n (q (- n 2)))))))))
    
  • Scheme
    ;; An implementation of memoization-macro definec can be found for example in: http://oeis.org/wiki/Memoization
    (definec (A005185 n) (if (<= n 2) 1 (+ (A005185 (- n (A005185 (- n 1)))) (A005185 (- n (A005185 (- n 2)))))))
    ;; Antti Karttunen, Mar 22 2017
    

A226222 a(1) = a(2) = a(3) = 1, a(n) = a(n-2-a(n-2)) + a(n-1-a(n-3)) for n>3.

Original entry on oeis.org

1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 7, 7, 8, 9, 9, 9, 10, 10, 11, 11, 11, 12, 13, 13, 13, 14, 15, 16, 16, 16, 17, 18, 18, 18, 18, 19, 20, 21, 21, 21, 21, 22, 22, 23, 23, 24, 25, 25, 25, 26, 26, 27, 27, 28, 29, 30, 30, 30, 31, 32, 32, 32, 32, 33, 35, 35
Offset: 1

Views

Author

Reinhard Zumkeller, May 31 2013

Keywords

Comments

First numbers not occurring: 62, 66, 75, 79, 114, 123, ... .

Crossrefs

Programs

  • Haskell
    a226222 n = a226222_list !! (n-1)
    a226222_list = 1 : 1 : 1 : zipWith (+)
       (map a226222 $ zipWith (-) [3..] a226222_list)
       (map a226222 $ zipWith (-) [2..] $ tail a226222_list)
    -- Reinhard Zumkeller, May 31 2013
    
  • Mathematica
    a[n_]:= a[n]= If[n<4, 1, a[n-2 -a[n-2]] + a[n-1 -a[n-3]]];
    Table[a[n], {n, 80}] (* G. C. Greubel, Mar 28 2022 *)
  • Sage
    @CachedFunction
    def a(n): # A226222
        if (n<4): return 1
        else: return  a(n-2-a(n-2)) + a(n-1-a(n-3))
    [a(n) for n in (1..80)] # G. C. Greubel, Mar 28 2022

Formula

a(n) = a(n-2 - a(n-2)) + a(n-1 - a(n-3)), with a(1) = a(2) = a(3) = 1.

A330772 a(n) = 1 for n<1; for n >= 0, a(n+1) = 2*a(n-a(n)).

Original entry on oeis.org

2, 2, 2, 4, 2, 4, 4, 4, 8, 4, 8, 4, 8, 4, 8, 8, 8, 16, 4, 16, 8, 16, 8, 16, 8, 16, 8, 8, 32, 2, 16, 16, 16, 16, 32, 4, 32, 4, 32, 8, 32, 16, 32, 16, 16, 64, 2, 32, 16, 32, 32, 8, 32, 16, 8, 4, 16, 64, 2, 32, 16, 32, 4, 4, 64, 4, 64, 4, 8, 32, 8, 8, 8, 128
Offset: 1

Views

Author

Rok Cestnik, Dec 30 2019

Keywords

Comments

From the current term count back the same number of terms and double it to obtain the next term. Because a(n) can exceed n, negative indexes are also occasionally referenced.

Examples

			a(1) = 2*a(0-a(0)) = 2*a(-1) = 2.
a(2) = 2*a(1-a(1)) = 2*a(-1) = 2.
a(3) = 2*a(2-a(2)) = 2*a(0) = 2.
a(4) = 2*a(3-a(3)) = 2*a(1) = 4.
		

Crossrefs

Programs

  • Python
    a = [2]
    for n in range(1000):
        if(a[n] > n):
            a.append(2)
        else:
            a.append(2*a[n-a[n]])

A284511 a(1) = 1, a(2) = 2, a(3) = 2; a(n) = a(a(n-1)-1) + a(n-a(n-2)) for n > 3.

Original entry on oeis.org

1, 2, 2, 3, 4, 4, 4, 5, 7, 8, 7, 7, 8, 8, 8, 9, 12, 14, 12, 11, 15, 15, 13, 14, 15, 15, 15, 16, 16, 16, 16, 17, 21, 23, 23, 23, 23, 23, 24, 25, 26, 27, 27, 27, 29, 28, 29, 27, 26, 28, 30, 30, 29, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 38, 44, 43, 41, 40, 40, 40, 41, 46, 50
Offset: 1

Views

Author

Altug Alkan, Mar 28 2017

Keywords

Examples

			a(4) = 3 because a(4) = a(a(3) - 1) + a(4 - a(2)) = a(1) + a(2) = 3.
		

Crossrefs

Programs

  • Maple
    a:= proc(n) option remember;
      procname(procname(n-1)-1)+procname(n-procname(n-2))
    end proc:
    a(1):= 1: a(2):= 2: a(3):= 2:
    map(a, [$1..100]); # Robert Israel, Mar 28 2017
  • Mathematica
    a[1]=1; a[2]=a[3]=2; a[n_] := a[n] = a[a[n-1]-1] + a[n-a[n-2]]; Array[a, 74] (* Giovanni Resta, Mar 28 2017 *)
  • PARI
    a=vector(1000); a[1]=1; a[2]=a[3]=2; for(n=4, #a, a[n]=a[a[n-1]-1]+a[n-a[n-2]]); a
    
  • Sage
    @CachedFunction
    def a(n): # A284511
        if (n<4): return 2 - bool(n==1)
        else: return  a(a(n-1)-1) + a(n-a(n-2))
    [a(n) for n in (1..80)] # G. C. Greubel, Mar 28 2022

Formula

a(n) = a(a(n-1)-1) + a(n-a(n-2)), with a(1) = 1, a(2) = 2, a(3) = 2.

A284520 a(1) = 1, a(2) = a(3) = a(4) = 2; a(n) = a(a(n-1)-1) + a(n-a(n-3)-1) for n > 4.

Original entry on oeis.org

1, 2, 2, 2, 3, 4, 4, 4, 4, 5, 6, 7, 8, 8, 8, 8, 8, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 17, 18, 19, 19, 19, 19, 20, 22, 25, 28, 28, 26, 24, 23, 25, 29, 30, 31, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 33, 34, 35, 35, 35
Offset: 1

Views

Author

Altug Alkan, Mar 28 2017

Keywords

Examples

			a(5) = 3 because a(5) = a(a(4)-1) + a(5-a(2)-1) = a(1) + a(2) = 3.
		

Crossrefs

Programs

  • PARI
    a=vector(1000); a[1]=1; a[2]=a[3]=a[4]=2; for(n=5, #a, a[n]=a[a[n-1]-1]+ a[n-a[n-3]-1]); a

A339310 a(n) = a(n-1-a(n-1)) + a(n-a(n-2)) for n>2; starting with a(1) = a(2) = 1.

Original entry on oeis.org

1, 1, 2, 3, 3, 3, 5, 4, 6, 5, 6, 8, 8, 6, 9, 8, 8, 11, 11, 10, 10, 14, 12, 11, 16, 15, 12, 17, 14, 17, 16, 18, 14, 19, 19, 16, 21, 22, 19, 21, 25, 18, 22, 25, 23, 24, 25, 25, 23, 31, 28, 22, 33, 28, 29, 32, 28, 29, 30, 30, 33, 35, 29, 33, 32, 28, 41, 36, 35
Offset: 1

Views

Author

Pablo Hueso Merino, Dec 02 2020

Keywords

Comments

{a(n)} is the Pinn F 1,0(n) sequence (see link section).

Examples

			a(3)=2 because a(3) = a(3-1-a(3-1))+a(3-a(3-2)) = a(2-1)+a(3-1) = 1+1 = 2.
		

Crossrefs

Programs

  • Mathematica
    a[1] = a[2] = 1; a[n_] := a[n] = a[n - 1 - a[n - 1]] + a[n - a[n - 2]]; Table[ a[n], {n, 1, 40}]
  • PARI
    lista(nn) = {my(va = vector(nn)); va[1] = 1; va[2] = 1; for (n=3, nn, va[n]=va[n-1-va[n-1]]+va[n-va[n-2]];); va;} \\ Michel Marcus, Dec 07 2020
  • Python
    a=[1,1]
    for n in range(100):
        i1=len(a)-1-a[len(a)-1]
        i2=len(a)-a[len(a)-2]
        if i1>=0 and i2>=0 :
            a.append(a[i1]+a[i2])
        else :
            print("Sequence dies. Contains ", n+2, " terms.")
            break
    print(a)
    
Showing 1-7 of 7 results.