Nothing Special   »   [go: up one dir, main page]

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”).

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
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
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