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

A335663
For n >= 1, a(n) = f(n) where f is a bijection on Z such that f(x)-x is also a bijection on Z and f(f(x)) = x.
0
2, 1, 6, 9, 12, 3, 16, 19, 4, 23, 26, 5, 30, 33, 36, 7, 40, 43, 8, 47, 50, 53, 10, 57, 60, 11, 64, 67, 70, 13, 74, 77, 14, 81, 84, 15, 88, 91, 94, 17, 98, 101, 18, 105, 108, 111, 20, 115, 118, 21, 122, 125, 22, 129, 132, 135, 24, 139, 142, 25, 146, 149, 152
OFFSET
1,1
COMMENTS
This appears in the problem of finding a bijection f on Z such that f(x)-x is also a bijection on Z. a(n) is the value on the natural numbers of an f satisfying the above condition as well as f(f(n)) = n. It is interesting to note that all a(n) such that a(n) > n are precisely A184119 (empirical) and ones satisfying a(n) <= n are precisely A136119 (empirical).
FORMULA
a(1) = 2 and for all i > 1 we define a(i) as follows:
Rule 1 : a(i) = j if there is some j such that j < i and a(j) = i.
Rule 2 : If Rule 1 cannot be performed then a(i) = i+2n+3 , if this rule applied n times previously.
EXAMPLE
We begin with a(1) = 2.
To calculate a(2): we first check if 2 has appeared in this sequence before. Indeed since a(1) = 2 we set a(2) = 1.
For a(3): observe that 3 has not appeared before so we can't apply Rule 1. Since we have performed rule 2 zero times before, therefore, a(3) = 3+2(0)+3 = 6.
For a(4): we cannot apply Rule 1 as 4 has not appeared before. We have applied Rule 2 one time before and hence a(4) = 4+2(1)+3 = 9.
Similarly a(5) = 5+2(2)+3 = 12.
However for a(6) we see a(3) = 6 and hence due to Rule 1, we must set a(6) = 3.
MAPLE
a:= proc() local h, t; t:=0; proc(n) option remember;
if n<3 then 3-n else h:= 3+n+2*t;
a(h):= n; t:= t+1; h fi end
end():
seq(a(n), n=1..100); # Alois P. Heinz, Jun 17 2020
MATHEMATICA
Nest[Append[#1, If[! FreeQ[#1[[All, 1]], #2], {FirstPosition[#1[[All, 1]], #2][[1]], #1[[-1, -1]]}, {#2 + 2 #1[[-1, -1]] + 3, 1 + #1[[-1, -1]]}]] & @@ {#, Length[#] + 1} &, {{2, 0}}, 62][[All, 1]] (* Michael De Vlieger, Jun 17 2020 *)
PROG
(Python)
Used = [(1, 2)]
def bfun(num):
print("a(1)=2")
for i in range(2, num + 1):
if any(i in coordinate for coordinate in Used):
for j in range(0, len(Used) + 1):
if i in Used[j]:
print("a(" + str(i) + ")=" + str(Used[j][0]))
break
else:
Used.append((i, i + 2 * len(Used) + 1))
print("a(" + str(i) + ")=" + str(i + 2 * len(Used) - 1))
bfun(70)
CROSSREFS
Sequence in context: A263255 A145663 A276664 * A160565 A025252 A348108
KEYWORD
nonn
AUTHOR
Bhavya Tiwari, Jun 17 2020
STATUS
approved