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.

A252868 Squarefree version of A252867.

Original entry on oeis.org

1, 2, 3, 10, 21, 5, 6, 35, 22, 15, 14, 33, 7, 30, 77, 26, 105, 13, 42, 65, 66, 91, 11, 70, 143, 210, 187, 39, 55, 78, 385, 34, 165, 182, 51, 110, 273, 85, 154, 195, 119, 330, 17, 231, 170, 429, 238, 715, 102, 455, 374, 1365, 38, 1155, 442, 57, 770, 663, 95, 462, 1105, 114, 1001, 255
Offset: 1

Views

Author

Keywords

Comments

a(n) = n if n <= 3, otherwise the first squarefree number not occurring earlier having at least one common factor with a(n-2), but none with a(n-1). The squarefree numbers are ordered by their occurrence in A019565.
These represent the same sets of integers as A252867 does, but using the factorization of squarefree numbers for the representation.
This is a permutation of the squarefree numbers. [I believe this is at present only a conjecture. - N. J. A. Sloane, Jan 10 2015]

Crossrefs

Programs

  • Mathematica
    (* b = A019565, c = A252867 *)
    b[n_] := Times @@ Prime[Flatten[Position[#, 1]]]&[Reverse[IntegerDigits[n, 2]]];
    c[n_] := c[n] = If[n<3, n, For[k=3, True, k++, If[FreeQ[Array[c, n-1], k], If[BitAnd[k, c[n-2]] >= 1 && BitAnd[k, c[n-1]] == 0, Return[k]]]]];
    a[n_] := b[c[n-1]];
    Array[a, 64] (* Jean-François Alcover, Oct 03 2018 *)
  • PARI
    invecn(v, k, x)=for(i=1, k, if(v[i]==x, return(i))); 0
    squarefree(n)=local(r=1,i=1);while(n>0,if(n%2,r*=prime(i));i++;n\=2);r
    alist(n)=local(v=vector(n, i, i-1), x); for(k=4, n, x=3; while(invecn(v, k-1, x)||!bitand(v[k-2], x)||bitand(v[k-1], x), x++); v[k]=x); vector(n,i,squarefree(v[i]))
    
  • Python
    from operator import mul
    from functools import reduce
    from sympy import prime
    def A019565(n):
        return reduce(mul,(prime(i+1) for i,v in enumerate(bin(n)[:1:-1]) if v == '1')) if n > 0 else 1
    A252868_list, l1, l2, s, b = [1,2,3], 2, 1, 3, set()
    for _ in range(10**4):
        i = s
        while True:
            if not (i in b or i & l1) and i & l2:
                A252868_list.append(A019565(i))
                l2, l1 = l1, i
                b.add(i)
                while s in b:
                    b.remove(s)
                    s += 1
                break
            i += 1 # Chai Wah Wu, Dec 25 2014

Formula

a(n) = A019565(A252867(n-1)).