Python 中的将整数转换为 3 进制数字


假设我们有一个数字 n,我们必须以字符串形式找到此数字的 3 进制等效数字。

因此,如果输入像 17 一样,则输出将为 122。

为了解决这个问题,我们将按照以下步骤进行 −

  • if n<0
    • sign := -1
  • 否则 sign := 空字符串
  • n := |n|
  • 如果 n <3,则
    • 返回 n 作为字符串
  • s := 空字符串
  • 当 n 与 0 不同时,执行
    • s := (n mod 3) 的字符串连接 s
    • n := (n / 3) 的商
  • 返回 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

更新时间: 2020 年 9 月 23 日

2K+ 次浏览

开启 职业生涯

通过完成课程来获得认证

开始
广告
© . All rights reserved.