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.

A251555 a(1)=1, a(2)=3, a(3)=2; thereafter a(n) is the smallest number not occurring earlier having at least one common factor with a(n-2), but none with a(n-1).

Original entry on oeis.org

1, 3, 2, 9, 4, 15, 8, 5, 6, 25, 12, 35, 16, 7, 10, 21, 20, 27, 14, 33, 26, 11, 13, 22, 39, 28, 45, 32, 51, 38, 17, 18, 85, 24, 55, 34, 65, 36, 91, 30, 49, 40, 63, 44, 57, 46, 19, 23, 76, 69, 50, 81, 52, 75, 56, 87, 62, 29, 31, 58, 93, 64, 99, 68, 77, 48, 119, 54
Offset: 1

Views

Author

N. J. A. Sloane, Dec 21 2014

Keywords

Comments

A variant of A098550. See that entry for much more information.
It seems likely that this sequence will never merge with A098550, but it would be nice to have a proof.
A252912 gives numbers m, such that a(m) = A098550(m), see also A252939 and A252940. - Reinhard Zumkeller, Dec 25 2014

Crossrefs

Programs

  • Haskell
    import Data.List (delete)
    a251555 n = a251555_list !! (n-1)
    a251555_list = 1 : 3 : 2 : f 3 2 [4..] where
       f u v ws = g ws where
         g (x:xs) = if gcd x u > 1 && gcd x v == 1
                       then x : f v x (delete x ws) else g xs
    -- Reinhard Zumkeller, Dec 24 2014
  • Mathematica
    a[1]=1; a[2]=3; a[3]=2;
    A251555 = Array[a, 3];
    a[n_] := a[n] = For[k=2, True, k++, If[FreeQ[A251555, k], If[!CoprimeQ[k, a[n-2]] && CoprimeQ[k, a[n-1]], AppendTo[A251555, k]; Return[k]]]];
    A251555 = Array[a, 100] (* Jean-François Alcover, Aug 02 2018 *)
  • Python
    from math import gcd
    A251555_list, l1, l2, s, b = [1,3,2], 2, 3, 4, set()
    for _ in range(10**3):
        i = s
        while True:
            if not i in b and gcd(i,l1) == 1 and gcd(i,l2) > 1:
                A251555_list.append(i)
                l2, l1 = l1, i
                b.add(i)
                while s in b:
                    b.remove(s)
                    s += 1
                break
            i += 1
    print(A251555_list) # Chai Wah Wu, Dec 21 2014