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 Solvers73
Suggested Problems
-
Find the numeric mean of the prime numbers in a matrix.
9134 Solvers
-
2363 Solvers
-
720 Solvers
-
1596 Solvers
-
Find the sides of an isosceles triangle when given its area and height from its base to apex
2141 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.