Python实现考拉兹猜想时如何打印输出序列中的最大数值
考拉兹猜想代码修改方案
你只需要新增一个变量记录序列的最大值,每次计算出新的数值后同步更新这个变量,循环结束后单独打印最大值即可。
修改时还可以将原代码的普通除法/替换为整数除法//,避免输出结果带小数点的浮点数,更符合数值序列的阅读习惯。
修改后的完整代码如下:
x = int(input("Enter a number : ")) max_val = 0 while(x!=1): if(x%2==0): x = x//2 else: x = 3*x + 1 # 更新最大值 if x > max_val: max_val = x print("\n", x) # 输出最终最大值 print("\n序列最大值为:", max_val)
测试输入20时,输出序列的最后会打印序列最大值为: 16,和你之前手动统计的结果一致,输入大数值时也可以直接得到最大值,不需要手动识别。
如果你需要把初始输入的数值也纳入序列统计和输出,只需要在循环开始前补充两行代码:
- 打印初始值:
print("\n", x) - 初始化最大值为输入值:
max_val = x
内容的提问来源于stack exchange,提问作者user16193950
相关产品推荐
相关产品推荐

