Python程式:在n步內透過複製貼上列印最大字元數?


假設我們有一個數字n;我們需要找到在n次操作中可以輸入的最大字元數,其中每次操作都類似於

  • 插入字元“x”。

  • 複製所有字元。

  • 貼上

因此,如果輸入為n = 12,則輸出將為81。

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

  • 如果n <= 4,則

    • 返回n

  • v := 6,x := 3,i := 5,j := 0

  • 當i不等於n時,執行

    • v := v + x

    • i := i + 1,j := j + 1

    • 如果j可被3整除,則

      • x := x * 1.5 的整數部分

    • 否則,當j不能被3整除時,則

      • 不做任何操作

    • 否則,

      • x := x * 2

  • 返回v

讓我們看看以下實現,以便更好地理解

示例

 線上演示

class Solution:
   def solve(self, n):
      if n <= 4:
         return n

      v = 6
      x = 3
      i = 5
      j = 0
      while i != n:
         v += x
         i += 1
         j += 1

         if j % 3 == 0:
            x = int(x * 1.5)
         elif j % 3 == 1:
            pass
         else:
            x *= 2

      return v

ob = Solution()
n = 12
print(ob.solve(n))

輸入

12

輸出

81

更新於: 2020年11月10日

73 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告