This problem concerns the so-called balanced ternary system for representing numbers. It is a Base 3 system in which the digits can be 1, 0, or -1.
In balanced ternary, the number 8 would be represented as 9 (or 3^2) minus 1 (or 3^0). Typographically we will use "|" for one, "o" for zero (that's a lower-case O), and "-" for negative one. So if the decimal input d is the number 8, the balanced ternary output is the string "|o-". Thus
dec 8 => bt "|o-"
Here are some more examples.
dec 3 => bt "|o" dec 15 => bt "|--o" dec 52 => bt "|-o-|"
Given an integer d, return the string bt. Leading zeros should always be suppressed.
Solution Stats
Problem Comments
Solution Comments
Show commentsProblem Recent Solvers84
Suggested Problems
-
Return a list sorted by number of occurrences
2897 Solvers
-
2182 Solvers
-
Create an n-by-n null matrix and fill with ones certain positions
734 Solvers
-
1030 Solvers
-
Convert from Fahrenheit to Celsius
28667 Solvers
More from this Author54
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
I have a 16 point hack solution, but https://www.mathworks.com/matlabcentral/cody/players/1379371's solution is too good. For those who need a clue, sum(3.^(0:9))=29524 Just increase that 9, and you're good until overflow or roundoff get you.