สมมติว่าเรามีตัวเลข n เราต้องหาฐาน 3 ที่เทียบเท่ากับตัวเลขนี้เป็นสตริง
ดังนั้นหากอินพุตเท่ากับ 17 เอาต์พุตจะเป็น 122
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า n<0:
- ลงชื่อ :=-1
- มิฉะนั้น เครื่องหมาย :=สตริงว่าง
- n :=|n|
- ถ้า n <3 แล้ว
- คืนค่า n เป็นสตริง
- s :=สตริงว่าง
- ในขณะที่ n ไม่เหมือนกับ 0, do
- s :=string ของ (n mod 3) concatenate s
- n :=ผลหารของ (n / 3)
- ป้ายส่งคืน concatenate s
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, n): sign = '-' if n<0 else '' n = abs(n) if n < 3: return str(n) s = '' while n != 0: s = str(n%3) + s n = n//3 return sign+s ob = Solution() print(ob.solve(17))
อินพุต
17
ผลลัพธ์
122