login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

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).
13
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,3
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
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 *)
PROG
(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]
(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
(PARI) A125717(n, show=0)={my(u=1, a); for(n=1, n, a%=n; while(bittest(u, a), a+=n); u+=1<<a; show&&print1(a", ")); a} \\ 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
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.
Sequence in context: A273465 A328503 A333826 * A065232 A074170 A076543
KEYWORD
nonn,nice,look
AUTHOR
Leroy Quet, Feb 01 2007
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
STATUS
approved