login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A274647 A variation on Recamán's sequence (A005132): to get a(n), we first try to subtract n from a(n-1): a(n) = a(n-1)-n if positive and not already in the sequence; if not then we try to add n: a(n) = a(n-1)+n if not already in the sequence; if this fails we try to subtract 2n from a(n-1), or to add 2n to a(n-1), or to subtract 3n, or to add 3n, etc., until one of these produces a positive number not already in the sequence. 5
0, 1, 3, 6, 2, 7, 13, 20, 12, 21, 11, 22, 10, 23, 9, 24, 8, 25, 43, 62, 42, 63, 41, 18, 66, 91, 65, 38, 94, 123, 93, 124, 92, 59, 127, 162, 126, 89, 51, 90, 50, 132, 174, 131, 87, 177, 223, 176, 128, 79, 29, 80, 28, 81, 27, 82, 26, 83, 141, 200, 140, 201, 139 (list; graph; refs; listen; history; text; internal format)
OFFSET
0,3
COMMENTS
Is this a permutation of the natural numbers?
After 5.4*10^11 terms, the smallest number which has not appeared is 212. There are 177 numbers under 10000 which have not appeared. - Benjamin Chaffin, Sep 29 2016
LINKS
FORMULA
A276342(a(n)) = n for all n.
MATHEMATICA
f[s_List] := Block[{a = b = 0, k = 1, l = s[[-1]], n = Length@ s}, While[ If[l > k*n && !MemberQ[s, l - k*n], a = l - k*n]; If[ !MemberQ[s, l + k*n], b = l + k*n; Break[]]; a == b == 0, k++]; Append[s, If[a > 0, a, b]]]; Nest[f, {0}, 70]
(* Robert G. Wilson v, Sep 09 2016 *)
PROG
(Scheme, with defineperm1-macro from Antti Karttunen's IntSeq-library)
(defineperm1 (A274647 n) (if (<= n 1) n (let ((prev (A274647 (- n 1)))) (let loop ((k n)) (cond ((and (> (- prev k) 1) (not-lte? (A276342 (- prev k)) n)) (- prev k)) ((not-lte? (A276342 (+ prev k)) n) (+ prev k)) (else (loop (+ k n))))))))
(define (A276342 n) (A274647 (- n))) ;; This returns inverse values of A274647 from its hidden cache.
;; We consider a > b (i.e. not less than b) also in case a is #f.
;; (Because of the stateful caching system used by defineperm1-macro):
(define (not-lte? a b) (cond ((not (number? a)) #t) (else (> a b))))
;; Antti Karttunen, Sep 04 2016
(Python)
l=[0]
for n in range(1, 101):
i=1
while True:
a=l[n - 1]
x=a - i*n
if x>0 and x not in l:
l.append(x)
break
y=a + i*n
if y>0 and not y in l:
l.append(y)
break
else : i+=1
print(l) # Indranil Ghosh, Jun 03 2017
CROSSREFS
Left inverse: A276342 (also right inverse, if this sequence is a permutation of nonnegative integers).
Cf. A276438 (gives k that was used when computing a(n), with sign).
Cf. A274648 (another variant).
Sequence in context: A064387 A064389 A118201 * A113880 A339192 A171884
KEYWORD
nonn,nice
AUTHOR
Max Barrentine, Aug 12 2016
STATUS
approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified March 18 22:56 EDT 2024. Contains 370952 sequences. (Running on oeis4.)