Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จำนวนเต็มถึงฐาน 3 จำนวนใน Python


สมมติว่าเรามีตัวเลข 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