# n <= 2时执行-1操作最小,n > 2时执行开根号操作最小 # 对大数字循环执行操作很慢,会超时,所以需要优化一下 # n <= 2时,可以直接用n减去操作次数,即为结果 # n > 2时,需要计算最少多少次操作才能让n落到(-∞, 2]区间内 # 设n > 2时需要x次操作,计算边界条件,以下式子成立 # n ** (1 / (2 ** x)) <= 2 # 等价于n <= 2 ** (2 ** x) # 式子两边取两次以2为底的对数,得到x >= math.log2(math.log2(n)) # 不等号右侧是个浮点数,需要得到的x是...