程序通过在Python中按n步复制粘贴来打印最大字符数?

假设我们有一个数字n;我们必须找到可以使用n个操作输入的最大字符数,每个操作类似于

  • 插入字符“ x”。

  • 复制所有字符。

因此,如果输入类似于n = 12,则输出将为81。

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

  • 如果n <= 4,则

    • 返回n

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

  • 虽然我和n不一样

    • x:= x * 2

    • 没做什么

    • x:=(x * 1.5)的整数

    • v:= v + x

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

    • 如果j被3整除,则

    • 否则,当j不能被3整除时,则

    • 除此以外,

    • 返回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
    猜你喜欢