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!)
A117967 Positive part of inverse of A117966; write n in balanced ternary and then replace (-1)'s with 2's. 24

%I #24 Jan 05 2021 11:11:32

%S 0,1,5,3,4,17,15,16,11,9,10,14,12,13,53,51,52,47,45,46,50,48,49,35,33,

%T 34,29,27,28,32,30,31,44,42,43,38,36,37,41,39,40,161,159,160,155,153,

%U 154,158,156,157,143,141,142,137,135,136,140,138,139,152,150,151,146

%N Positive part of inverse of A117966; write n in balanced ternary and then replace (-1)'s with 2's.

%D D. E. Knuth, The Art of Computer Programming. Addison-Wesley, Reading, MA, Vol. 2, pp. 173-175

%H Alois P. Heinz, <a href="/A117967/b117967.txt">Table of n, a(n) for n = 0..9841</a>

%H Ken Levasseur, <a href="http://discretemath.org/ternary_number_system.html">The Balanced Ternary Number System</a>

%F a(0) = 0, a(3n) = 3a(n), a(3n+1) = 3a(n)+1, a(3n-1) = 3a(n)+2.

%F If one adds this clause, then the function is defined on the whole Z: If n<0, then a(n) = A004488(a(-n)) (or equivalently: a(n) = A117968(-n)) and then it holds that a(A117966(n)) = n. - _Antti Karttunen_, May 19 2008

%e 7 in balanced ternary is 1(-1)1, changing to 121 ternary is 16, so a(7)=16.

%p a:= proc(n) local d, i, m, r; m:=n; r:=0;

%p for i from 0 while m>0 do

%p d:= irem(m, 3, 'm');

%p if d=2 then m:=m+1 fi;

%p r:= r+d*3^i

%p od; r

%p end:

%p seq(a(n), n=0..100); # _Alois P. Heinz_, May 11 2015

%t a[n_] := Module[{d, i, m = n, r = 0}, For[i = 0, m > 0, i++, {m, d} = QuotientRemainder[m, 3]; If[d == 2, m++]; r = r + d*3^i]; r];

%t a /@ Range[0, 100] (* _Jean-François Alcover_, Jan 05 2021, after _Alois P. Heinz_ *)

%o (Scheme)

%o (Two alternative definitions in MIT/GNU Scheme, defined for whole Z:)

%o (define (A117967 z) (cond ((zero? z) 0) ((negative? z) (A004488 (A117967 (- z)))) (else (let* ((lp3 (expt 3 (A062153 z))) (np3 (* 3 lp3))) (if (< (* 2 z) np3) (+ lp3 (A117967 (- z lp3))) (+ np3 (A117967 (- z np3))))))))

%o (define (A117967v2 z) (cond ((zero? z) 0) ((negative? z) (A004488 (A117967v2 (- z)))) ((zero? (modulo z 3)) (* 3 (A117967v2 (/ z 3)))) ((= 1 (modulo z 3)) (+ (* 3 (A117967v2 (/ (- z 1) 3))) 1)) (else (+ (* 3 (A117967v2 (/ (+ z 1) 3))) 2))))

%o ;; _Antti Karttunen_, May 19 2008

%o (Python)

%o from sympy.ntheory.factor_ import digits

%o def a004488(n): return int("".join([str((3 - i)%3) for i in digits(n, 3)[1:]]), 3)

%o def a117968(n):

%o if n==1: return 2

%o if n%3==0: return 3*a117968(n/3)

%o elif n%3==1: return 3*a117968((n - 1)/3) + 2

%o else: return 3*a117968((n + 1)/3) + 1

%o def a(n): return 0 if n==0 else a004488(a117968(n)) # _Indranil Ghosh_, Jun 06 2017

%Y Cf. A117966. a(n) = A004488(A117968(n)). Bisection of A140263. A140267 gives the same sequence in ternary.

%K base,nonn,look

%O 0,3

%A _Franklin T. Adams-Watters_, Apr 05 2006

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 May 7 20:13 EDT 2024. Contains 372317 sequences. (Running on oeis4.)