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.

A327562 a(0) = a(1) = 1; for n > 1, a(n) = (a(n-1) + a(n-2)) / gcd(a(n-1), a(n-2)) if a(n-1) and a(n-2) are not coprime, otherwise a(n) = a(n-1) + a(n-2) + 1.

Original entry on oeis.org

1, 1, 3, 5, 9, 15, 8, 24, 4, 7, 12, 20, 8, 7, 16, 24, 5, 30, 7, 38, 46, 42, 44, 43, 88, 132, 5, 138, 144, 47, 192, 240, 9, 83, 93, 177, 90, 89, 180, 270, 5, 55, 12, 68, 20, 22, 21, 44, 66, 5, 72, 78, 25, 104, 130, 9, 140, 150, 29, 180, 210, 13, 224, 238, 33, 272, 306
Offset: 0

Views

Author

Ian Band, Sep 16 2019

Keywords

Comments

The sequence increases rapidly after n = 92.
From roughly n = 480 to n = 600, the sequence increases relatively fast and is almost a perfect exponential function.
Redefining a(0) and a(1) can result in drastically different sequences.

Crossrefs

Cf. A133058.

Programs

  • Magma
    a:=[1,1]; for n in [3..67] do  if Gcd(a[n-1],a[n-2]) ne 1 then Append(~a,(a[n-1]+a[n-2])/Gcd(a[n-1],a[n-2])); else Append(~a,a[n-1]+a[n-2]+1); end if; end for; a; // Marius A. Burtea, Sep 19 2019
  • Mathematica
    a[0]=a[1]=1; a[n_] := a[n] = Block[{g = GCD[a[n-1], a[n-2]]}, If[g==1,
    a[n-1] + a[n-2] + 1, (a[n-1] + a[n-2])/g]]; Array[a, 67, 0] (* Giovanni Resta, Sep 19 2019 *)
    nxt[{a_,b_}]:={b,If[!CoprimeQ[a,b],(a+b)/GCD[a,b],a+b+1]}; NestList[nxt,{1,1},70][[;;,1]] (* Harvey P. Dale, Feb 14 2024 *)
  • Python
    import math
    def a(n): # Iteratively generates an array containing the first n terms of a(n), n should be greater than 2
        a1 = 1 # this will hold a(n-1), its initial value is a(1)
        a2 = 1 # this will hold a(n-2), its initial value is a(0)
        terms = [None] * n
        terms[0] = a2
        terms[1] = a1
        for i in range(2, n):
            gcdPrev2 = math.gcd(a1, a2)
            if(gcdPrev2 > 1):
                terms[i] = int((a1 + a2) / gcdPrev2)
            else:
                terms[i] = a1 + a2 + 1
            a2 = a1
            a1 = terms[i]
        return terms
    

Formula

a(0) = a(1) = 1; for n > 1, a(n) = (a(n-1) + a(n-2)) / gcd(a(n-1), a(n-2)) if gcd(a(n-1), a(n-2)) > 1, otherwise a(n) = a(n-1) + a(n-2) + 1.