Python程式:檢查數字是否為3的冪的和


假設我們有一個數字n,我們需要檢查是否可以將n表示為3的冪的不同和。如果存在整數x使得y = 3^x,則整數y被稱為3的冪。

因此,如果輸入為n = 117,則輸出為True,因為117 = 3^4 + 3^3 + 3^2 = 81 + 27 + 9。

為了解決這個問題,我們將遵循以下步驟:

  • 對於i從16到0遞減,執行:

    • 如果n >= 3^i,則

      • n := n - 3^i

  • 如果n > 0,則

    • 返回False

  • 返回True

示例

讓我們來看下面的實現,以便更好地理解:

def solve(n):
   for i in range(16, -1, -1):
      if n >= pow(3,i):
         n -= pow(3,i)

   if n > 0:
      return False

   return True

n = 117
print(solve(n))

輸入

117

輸出

True

更新於:2021年10月6日

495 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.