【问题标题】:Specific question about len() of the collatz count关于 collat​​z 计数的 len() 的具体问题
【发布时间】:2018-12-03 10:43:50
【问题描述】:

我有这段代码用于执行 collat​​z 序列:

x0 = int(input('Enter number:'))

while x0 > 1:

    print(x0)
    if (x0 % 2):
        x0 = 3*x0 + 1
    else:
        x0 = x0//2

它给我的答案是 4 和 2 相互叠加。有什么办法可以把答案的长度。我用len() 试过了,但它没有说话。提前致谢。

【问题讨论】:

  • 可以说“答案”是什么?你能举例说明你的期望吗?
  • 例如:代替这个:输入数字:4 --> 4 2 我希望它给我:2。所以“序列”的长度
  • 只需使用一个计数器变量来跟踪循环中的计数。

标签: python python-3.x collatz


【解决方案1】:

使用计数器变量跟踪您正在经历的迭代次数。

count = 0
while x0 > 1:
    count += 1
    #print(x0)
    if (x0 % 2):
        x0 = 3*x0 + 1
    else:
        x0 = x0//2

print(count)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 2016-01-29
    • 2011-04-17
    • 1970-01-01
    相关资源
    最近更新 更多