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.

A354790 a(n) is the least positive squarefree number not already used that is coprime to the previous floor(n/2) terms.

Original entry on oeis.org

1, 2, 3, 5, 7, 11, 6, 13, 17, 19, 23, 29, 31, 35, 22, 37, 39, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 85, 89, 14, 97, 101, 103, 33, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 65, 233
Offset: 1

Views

Author

Keywords

Comments

A version of the Two-Up sequence A090252 that is restricted to squarefree numbers.

Crossrefs

See A354791 and A354792 for the nonprime terms.
See A355895 for the even terms.

Programs

  • C
    // See Links section.
  • Maple
    # A354790 = Squarefree version of the Two-Up sequence A090252
    # This produces 2*M terms in the array a
    # Assumes b117 is a list of sufficiently many squarefree numbers A005117
    # Test if u is relatively prime to all of a[i], i = i1..i2
    perpq:=proc(u,i1,i2) local i; global a;
    for i from i1 to i2 do if igcd(u,a[i])>1 then return(-1); fi; od: 1; end;
    a:=Array(1..10000,-1);
    hit:=Array(1..10000,-1); # 1 if i has appeared
    a[1]:=1; a[2]:=2; hit[1]:=1; hit[2]:=1;
    M:=100; M1 := 1000;
    for p from 2 to M do
    # step 1 want a[2p-1] relatively prime to a[p] ... a[2p-2]
    sw1:=-1;
    for j from 1 to M1 do
    c:=b117[j];
    if hit[c] = -1 and perpq(c,p,2*p-2) = 1 then a[2*p-1]:=c; hit[c]:=1; sw1:=1; break; fi;
    od: # od j
    if sw1 = -1 then error("no luck, step 1, p =",p ); fi;
    # step 2 want a[2p] relatively prime to a[p] ... a[2p-1]
    sw2:=-1;
    for j from 1 to M1 do
    c:=b117[j];
    if hit[c] = -1 and perpq(c,p,2*p-1) = 1 then a[2*p]:=c; hit[c]:=1; sw2:=1; break; fi;
    od: # od j
    if sw2 = -1 then error("no luck, step 2, p =",p ); fi;
    od: # od p
    [seq(a[i],i=1..2*M)];
  • Mathematica
    nn = 60; pp[] = 1; k = r = 1; c[] = False; a[1] = 1; Do[Set[m, SelectFirst[Union@ Append[Times @@ # & /@ Subsets[#, {2, Infinity}], Prime[r]] &[Prime@ Select[Range[If[k == 1, r, k + 1]], p[Prime[#]] < n &]], ! c[#] &]]; Set[a[n], m]; (c[m] = True; If[PrimeQ[m], r++]; If[n > 1, Map[(Set[p[#], 2 n]; pp[#]++) &, #]]) &@ FactorInteger[m][[All, 1]]; While[pp[Prime[k]] > 2, k++], {n, 2, nn}]; Array[a, nn] (* Michael De Vlieger, Sep 06 2022 *)
  • PARI
    \\ See Links section.
    
  • Python
    from math import lcm, gcd
    from itertools import count, islice
    from collections import deque
    from sympy import factorint
    def A354790_gen(): # generator of terms
        aset, aqueue, c, b, f = {1}, deque([1]), 2, 1, True
        yield 1
        while True:
            for m in count(c):
                if m not in aset and gcd(m,b) == 1 and all(map(lambda n:n<=1,factorint(m).values())):
                    yield m
                    aset.add(m)
                    aqueue.append(m)
                    if f: aqueue.popleft()
                    b = lcm(*aqueue)
                    f = not f
                    while c in aset:
                        c += 1
                    break
    A354790_list = list(islice(A354790_gen(),30)) # Chai Wah Wu, Jul 17 2022
    

Extensions

More terms from Rémy Sigrist, Jul 17 2022