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

จำนวนเต็มเป็นเลขฐาน 3 ใน Python

สมมติว่าเรามีตัวเลข n เราต้องหาค่าเทียบเท่าฐาน 3 ของตัวเลขนี้เป็นสตริง

ตัวอย่าง

หากอินพุตคือ 17 ผลลัพธ์จะเป็น 122

ขั้นตอนการแก้ปัญหา

  1. ถ้า n < 0: sign := '-'
  2. อื่นๆ sign := สตริงว่าง
  3. n := |n|
  4. ถ้า n < 3 ให้คืนค่า n เป็นสตริง
  5. s := สตริงว่าง
  6. ในขณะที่ n != 0:
    • s := สตริงของ (n % 3) ต่อ s
    • n := ผลหารของ (n / 3)
  7. คืนค่า sign ต่อ 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