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.

A125717 a(0)=0; thereafter a(n) = the smallest nonnegative integer not already in the sequence such that a(n-1) is congruent to a(n) (mod n).

Original entry on oeis.org

0, 1, 3, 6, 2, 7, 13, 20, 4, 22, 12, 23, 11, 24, 10, 25, 9, 26, 8, 27, 47, 5, 49, 72, 48, 73, 21, 75, 19, 77, 17, 79, 15, 81, 115, 45, 117, 43, 119, 41, 121, 39, 123, 37, 125, 35, 127, 33, 129, 31, 131, 29, 133, 80, 134, 189, 245, 74, 16, 193, 253, 70, 132, 69, 197, 67, 199, 65
Offset: 0

Views

Author

Leroy Quet, Feb 01 2007

Keywords

Comments

This sequence seems likely to be a permutation of the nonnegative integers.
A245340(n) = smallest m such that a(m) = n, or -1 if n never appears.
See A245394 and A245395 for record values of a(n) and where they occur. - Reinhard Zumkeller, Jul 21 2014
See A370956 and A370959 for record values of the inverse A245340 and where they occur. - N. J. A. Sloane, Apr 29 2024
A very nice (maybe the most natural) variant of Recamán's sequence A005132. - M. F. Hasler, Nov 03 2014

Crossrefs

Cf. A245340 (inverse), A370957 (first differences), A245394 & A245395 (records in this sequence), A370956 & A370959 (records in inverse).
See also A005132 (Recaman), A099506, A125715, A125718, A125725.

Programs

  • Haskell
    import Data.IntMap (singleton, member, (!), insert)
    a125717 n = a125717_list !! n
    a125717_list =  0 : f [1..] 0 (singleton 0 0) where
       f (v:vs) w m = g (reverse[w-v,w-2*v..1] ++ [w+v,w+2*v..]) where
         g (x:xs) = if x `member` m then g xs else x : f vs x (insert x v m)
    -- Reinhard Zumkeller, Jul 21 2014
    
  • Mathematica
    f[l_List] := Block[{n = Length[l], k = Mod[l[[ -1]], n]},While[MemberQ[l, k], k += n];Append[l, k]];Nest[f, {0}, 70] (* Ray Chandler, Feb 04 2007, updated for change to offset Oct 10 2019 *)
  • PARI
    {Quet_p2(n)=/* Permutation sequence a'la Leroy Quet, A125717 */local(x=[1],k=0,w=1); for(i=2,n,if((k=x[i-1]%i)==0,k=i);while(bittest(w,k-1)>0,k+=i);x=concat(x,k);w+=2^(k-1)); return(x)} \\ Ferenc Adorjan
    
  • PARI
    A125717(n,show=0)={my(u=1,a);for(n=1,n,a%=n;while(bittest(u,a),a+=n);u+=1<M. F. Hasler, Nov 03 2014
    
  • Python
    from itertools import count, islice
    def agen(): # generator of terms
        an, aset = 0, {0}
        for n in count(1):
            yield an
            an = next(m for m in count(an%n, n) if m not in aset)
            aset.add(an)
    print(list(islice(agen(), 70))) # Michael S. Branicky, Jun 07 2023

Extensions

Extended by Ray Chandler, Feb 04 2007
a(0) added by Franklin T. Adams-Watters, Mar 31 2014
Edited by N. J. A. Sloane, Mar 15 2024