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!)
A117966 Balanced ternary enumeration (based on balanced ternary representation) of integers; write n in ternary and then replace 2's with (-1)'s. 48
0, 1, -1, 3, 4, 2, -3, -2, -4, 9, 10, 8, 12, 13, 11, 6, 7, 5, -9, -8, -10, -6, -5, -7, -12, -11, -13, 27, 28, 26, 30, 31, 29, 24, 25, 23, 36, 37, 35, 39, 40, 38, 33, 34, 32, 18, 19, 17, 21, 22, 20, 15, 16, 14, -27, -26, -28, -24, -23, -25, -30, -29, -31, -18, -17, -19, -15, -14, -16, -21, -20, -22, -36 (list; graph; refs; listen; history; text; internal format)
OFFSET
0,4
COMMENTS
As the graph demonstrates, there are large discontinuities in the sequence between terms 3^i-1 and 3^i, and between terms 2*3^i-1 and 2*3^i. - N. J. A. Sloane, Jul 03 2016
REFERENCES
D. E. Knuth, The Art of Computer Programming. Addison-Wesley, Reading, MA, Vol. 2, pp. 173-175; 2nd. ed. pp. 190-193.
LINKS
Gheorghe Coserea, Table of n, a(n) for n = 0..59048 (first 729 terms from A. Karttunen)
N. J. A. Sloane and Brady Haran, Amazing Graphs II (including Star Wars), Numberphile video (2019)
Wikipedia, Balanced ternary
FORMULA
a(0) = 0, a(3n) = 3a(n), a(3n+1) = 3a(n)+1, a(3n+2) = 3a(n)-1.
G.f. satisfies A(x) = 3*A(x^3)*(1+x+x^2) + x/(1+x+x^2). - corrected by Robert Israel, Nov 17 2015
A004488(n) = a(n)^{-1}(-a(n)). I.e., if a(n) <= 0, A004488(n) = A117967(-a(n)) and if a(n) > 0, A004488(n) = A117968(a(n)).
a(n) = n - 3 * A005836(A289814(n) + 1). - Andrey Zabolotskiy, Nov 11 2019
EXAMPLE
7 in base 3 is 21; changing the 2 to a (-1) gives (-1)*3+1 = -2, so a(7) = -2. I.e., the number of -2 according to the balanced ternary enumeration is 7, which can be obtained by replacing every -1 by 2 in the balanced ternary representation (or expansion) of -2, which is -1,1.
MAPLE
f:= proc(n) local L, i;
L:= subs(2=-1, convert(n, base, 3));
add(L[i]*3^(i-1), i=1..nops(L))
end proc:
map(f, [$0..100]);
# alternate:
N:= 100: # to get a(0) to a(N)
g:= 0:
for n from 1 to ceil(log[3](N+1)) do
g:= convert(series(3*subs(x=x^3, g)*(1+x+x^2)+x/(1+x+x^2), x, 3^n+1), polynom);
od:
seq(coeff(g, x, j), j=0..N); # Robert Israel, Nov 17 2015
# third Maple program:
a:= proc(n) option remember; `if`(n=0, 0,
3*a(iquo(n, 3, 'r'))+`if`(r=2, -1, r))
end:
seq(a(n), n=0..3^4-1); # Alois P. Heinz, Aug 14 2019
MATHEMATICA
Map[FromDigits[#, 3] &, IntegerDigits[#, 3] /. 2 -> -1 & /@ Range@ 80] (* Michael De Vlieger, Nov 17 2015 *)
PROG
(MIT/GNU Scheme:) (define (A117966 n) (let loop ((z 0) (i 0) (n n)) (if (zero? n) z (loop (+ z (* (expt 3 i) (if (= 2 (modulo n 3)) -1 (modulo n 3)))) (1+ i) (floor->exact (/ n 3)))))) -- Antti Karttunen, May 19 2008
(PARI) a(n) = subst(Pol(apply(x->if(x == 2, -1, x), digits(n, 3)), 'x), 'x, 3)
vector(73, i, a(i-1)) \\ Gheorghe Coserea, Nov 17 2015
(Python)
def a(n):
if n==0: return 0
if n%3==0: return 3*a(n//3)
elif n%3==1: return 3*a((n - 1)//3) + 1
else: return 3*a((n - 2)//3) - 1
print([a(n) for n in range(101)]) # Indranil Ghosh, Jun 06 2017
CROSSREFS
Column k=1 of A319047.
Sequence in context: A316629 A254175 A088916 * A303932 A121891 A346780
KEYWORD
base,sign,look
AUTHOR
EXTENSIONS
Name corrected by Andrey Zabolotskiy, Nov 10 2019
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 April 25 03:15 EDT 2024. Contains 371964 sequences. (Running on oeis4.)