%I #25 May 31 2021 03:26:55
%S 1,3,6,11,4,15,2,19,38,61,32,63,26,67,24,71,18,77,16,83,12,85,164,81,
%T 170,73,174,277,384,275,162,35,166,29,168,317,468,311,148,315,142,321,
%U 140,331,138,335,136,347,124,351,122,355,116,357,106,363,100,369,98,375,94,377
%N Recamán transform of primes (another version): a(0)=1; for n>0, a(n) = a(n-1) - prime(n) if that number is positive and not already in the sequence, otherwise a(n) = a(n-1) + prime(n).
%C Differs from Cald's sequence A006509 for first time at n=116 (or 117, depending on offset).
%H Reinhard Zumkeller, <a href="/A117128/b117128.txt">Table of n, a(n) for n = 0..10000</a>
%H <a href="/index/Rea#Recaman">Index entries for sequences related to Recamán's sequence</a>
%F a(n) = A064365(n) + 1. - _Thomas Ordowski_, Dec 05 2016
%p M1:=500000; a:=array(0..M1); have:=array(1..M1); a[0]:=1; for n from 1 to M1 do have[n]:=0; od: have[1]:=1;
%p M2:=2000; nmax:=M2;
%p for n from 1 to M2 do p:=ithprime(n); i:=a[n-1]-p; j:=a[n-1]+p;
%p if i >= 1 and have[i]=0 then a[n]:=i; have[i]:=1;
%p elif j <= M1 then a[n]:=j; have[j]:=1;
%p else nmax:=n-1; break; fi; od: [seq(a[n],n=0..M2)];
%t a = {1}; Do[If[And[#1 > 0, ! MemberQ[a, #1]], AppendTo[a, #1], AppendTo[a, #2]] & @@ {#1 - #2, #1 + #2} & @@ {a[[n - 1]], Prime[n - 1]}, {n, 2, 62}]; a (* _Michael De Vlieger_, Dec 05 2016 *)
%o (Haskell)
%o import Data.Set (singleton, notMember, insert)
%o a117128 n = a117128_list !! n
%o a117128_list = 1 : f 1 a000040_list (singleton 1) where
%o f x (p:ps) s | x' > 0 && x' `notMember` s = x' : f x' ps (insert x' s)
%o | otherwise = xp : f xp ps (insert xp s)
%o where x' = x - p; xp = x + p
%o -- _Reinhard Zumkeller_, Apr 26 2012
%o (Python)
%o from sympy import primerange, prime
%o def aupton(terms):
%o alst = [1]
%o for n, pn in enumerate(primerange(1, prime(terms)+1), start=1):
%o x = alst[-1] - pn
%o alst += [x if x > 0 and x not in alst else alst[-1] + pn]
%o return alst
%o print(aupton(61)) # _Michael S. Branicky_, May 30 2021
%Y Cf. A064365, A006509, A112877.
%K nonn
%O 0,2
%A _N. J. A. Sloane_, Apr 20 2006