Balanced ternary: Difference between revisions

→‎{{header|11l}}: Small refactor
(→‎{{header|11l}}: Small refactor)
Line 41:
E
X ValueError(‘BalancedTernary: Wrong input digits.’)
 
F :from_str(inp)
R BalancedTernary(reversed(inp).map(c -> BalancedTernary.:str2dig[c]))
 
F :int2ternary(n)
Line 50 ⟶ 53:
I n3 == 2 {R [-1] [+] .:int2ternary((n + 1) -I/ 3)}
X RuntimeError(‘’)
 
F :from_int(inp)
R BalancedTernary(BalancedTernary.int2ternary(inp))
 
F to_int()
Line 101 ⟶ 107:
R BalancedTernary(_mul(.digits, b.digits))
 
V a = createBalancedTernaryFromStrBalancedTernary.from_str(‘+-0++0+’)
F createBalancedTernaryFromStr(inp)
R BalancedTernary(reversed(inp).map(c -> BalancedTernary.:str2dig[c]))
F createBalancedTernaryFromInt(inp)
R BalancedTernary(BalancedTernary.int2ternary(inp))
 
V a = createBalancedTernaryFromStr(‘+-0++0+’)
print(‘a: ’a.to_int()‘ ’a)
 
V b = createBalancedTernaryFromIntBalancedTernary.from_int(-436)
print(‘b: ’b.to_int()‘ ’b)
 
V c = createBalancedTernaryFromStrBalancedTernary.from_str(‘+-++-’)
print(‘c: ’c.to_int()‘ ’c)
 
1,480

edits