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-3 of 3 results.

A239664 a(n) = 1, a(n+1) = smallest number not occurring earlier, having with a(n) neither a common digit nor a common divisor.

Original entry on oeis.org

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 11, 20, 13, 22, 15, 26, 17, 24, 19, 25, 14, 27, 16, 29, 18, 35, 12, 37, 21, 34, 55, 28, 31, 40, 33, 41, 30, 47, 32, 45, 38, 49, 36, 59, 42, 53, 44, 39, 46, 51, 43, 50, 61, 48, 65, 71, 52, 63, 58, 67, 54, 73, 56, 79, 60, 77
Offset: 1

Views

Author

Reinhard Zumkeller, Mar 23 2014

Keywords

Crossrefs

Programs

  • Haskell
    import Data.List (delete, intersect); import Data.Function (on)
    a239664 n = a239664_list !! (n-1)
    a239664_list = 1 : f 1 [2..] where
       f v ws = g ws where
         g (x:xs) = if gcd v x == 1 && ((intersect `on` show) v x == "")
                       then x : f x (delete x ws) else g xs
    
  • PARI
    {u=[]; a=1; for(n=1,99, print1(a","); u=setunion(u,[a]); while(#u>1&&u[2]==u[1]+1,u=u[^1]); for(k=u[1]+1,9e9, setsearch(u,k)&&next;gcd(k,a)>1&&next; #setintersect(Set(digits(a)),Set(digits(k)))&&next; a=k; next(2)));a} \\ M. F. Hasler, Sep 17 2016

A276512 a(n) = smallest integer not yet in the sequence with no digits in common with a(n-2); a(0)=0, a(1)=1.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 22, 20, 13, 14, 24, 23, 15, 16, 26, 25, 17, 18, 28, 27, 19, 30, 32, 12, 40, 33, 21, 29, 34, 31, 50, 42, 36, 35, 41, 44, 37, 38, 45, 46, 39, 51, 47, 43, 52, 55, 48, 49, 53, 56, 60, 70, 54, 58, 61, 62, 57, 59, 63, 64, 71, 72, 65, 66, 73, 74, 68, 69, 75
Offset: 0

Views

Author

Zak Seidov and Eric Angelini, Sep 06 2016

Keywords

Comments

This is not a permutation of the nonnegative integers. E.g. 123456789 and 1023456789 (the smallest pandigital number) are not members.
a(n) = n for n = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 34, 84, 104, 105, 1449, 2889, 3183, ...

Crossrefs

Programs

  • Mathematica
    s={0,1};Do[a=s[[-2]];n=2; While[MemberQ[s,n]||Intersection [IntegerDigits[a],IntegerDigits[n]]≠{}, n++];AppendTo[s,n],{100}];s
  • Python
    from itertools import count, islice, product as P
    def only(s, D=1): # numbers with >= D digits only from s
        yield from (int("".join(p)) for d in count(D) for p in P(s, repeat=d))
    def agen(): # generator of terms
        aset, an1, an, minan = {0, 1}, 0, 1, 2
        yield from [0, 1]
        while True:
            an1, an, s = an, minan, set(str(an1))
            use = "".join(c for c in "0123456789" if c not in s)
            for an in only(use, D=len(str(minan))):
                if an not in aset: break
            aset.add(an)
            yield an
            while minan in aset: minan += 1
    print(list(islice(agen(), 75))) # Michael S. Branicky, Jun 30 2022

A276766 a(n) = smallest nonnegative integer not yet in the sequence with no repeated digits and no digits in common with a(n-1), starting with a(0)=0.

Original entry on oeis.org

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 23, 14, 20, 13, 24, 15, 26, 17, 25, 16, 27, 18, 29, 30, 12, 34, 19, 28, 31, 40, 21, 35, 41, 32, 45, 36, 42, 37, 46, 38, 47, 39, 48, 50, 43, 51, 49, 52, 60, 53, 61, 54, 62, 57, 63, 58, 64, 59, 67, 80, 56, 70, 65, 71, 68, 72, 69, 73, 81, 74, 82, 75
Offset: 0

Views

Author

Claudio Meller, Sep 17 2016

Keywords

Comments

The author of this sequence is Rodolfo Kurchan, who mentioned this sequence in a Facebook Group "Series", cf. link.
The sequence is finite, with last term a(5274) = 78642. - M. F. Hasler, Sep 17 2016

Crossrefs

Programs

  • PARI
    {u=[]; (t(k)=if(#Set(k=digits(k))==#k,k)); a=1; for(n=1, 99, print1(a","); u=setunion(u, [a]); t(u[1])||u[1]++; while(#u>1&&u[2]<=u[1]+1, u=u[^1]); for(k=u[1]+1, 9e9, setsearch(u, k)&&next; (d=t(k))&& !#setintersect(Set(digits(a)), Set(d))&&(a=k)&&next(2))); a} \\ M. F. Hasler, Sep 17 2016
    
  • Python
    def ok(s, t): return len(set(t)) == len(t) and len(set(s+t)) == len(s+t)
    def agen(): # generator of complete sequence of terms
        aset, k, mink, MAX = {0}, 0, 1, 987654321
        while True:
            if k < MAX: yield k
            else: return
            k, s = mink, str(k)
            MAX = 10**(10-len(s))
            while k < MAX and (k in aset or not ok(s, str(k))):
                k += 1
            aset.add(k)
            while mink in aset: mink += 1
    print(list(agen())[:73]) # Michael S. Branicky, Jun 30 2022

Extensions

Edited by M. F. Hasler, Sep 17 2016
Showing 1-3 of 3 results.