从输出中打印出最大的数字(collatz 猜想-python)
Printing the largest number from the outputs (collatz conjecture-python)
我需要帮助打印多个输出中的最大数字。我该如何修改此代码才能做到这一点?
x = int(input("Enter a number : "))
while(x!=1):
if(x%2==0):
x = x/2
print("\n",x)
else:
x = 3*x+1
print("\n",x)
当我输入“20”时,我得到了一个数字列表,我可以很容易地说 16 是输出中最大的。但是输入大的时候真的很难。我需要一个代码来从输出中打印出最大的数字
您可以创建一个 generator 来生成 Collatz 序列,然后使用 max()
函数找到最大的数:
def collatz_sequence(x):
yield x
while x > 1:
x = x // 2 if x % 2 == 0 else 3 * x + 1
yield x
print(max(collatz_sequence(5))) # Output: 16
我需要帮助打印多个输出中的最大数字。我该如何修改此代码才能做到这一点?
x = int(input("Enter a number : "))
while(x!=1):
if(x%2==0):
x = x/2
print("\n",x)
else:
x = 3*x+1
print("\n",x)
当我输入“20”时,我得到了一个数字列表,我可以很容易地说 16 是输出中最大的。但是输入大的时候真的很难。我需要一个代码来从输出中打印出最大的数字
您可以创建一个 generator 来生成 Collatz 序列,然后使用 max()
函数找到最大的数:
def collatz_sequence(x):
yield x
while x > 1:
x = x // 2 if x % 2 == 0 else 3 * x + 1
yield x
print(max(collatz_sequence(5))) # Output: 16