Python-仅打印最大数量的collatz
我已经得到了这个代码,但我只想打印最大的数字来代替collatz序列的整个队列。Python-仅打印最大数量的collatz,python,Python,我已经得到了这个代码,但我只想打印最大的数字来代替collatz序列的整个队列。 我怎么能这么做 只要有一个max变量,如果n大于该变量的值,则用n更新该变量: def collatz(number): if number % 2 == 0: print(number // 2) return number // 2 elif number % 2 == 1: result = 3 * number + 1 prin
我怎么能这么做 只要有一个max变量,如果
n
大于该变量的值,则用n
更新该变量:
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
elif number % 2 == 1:
result = 3 * number + 1
print(result)
return result
#4. zolang n ongelijk is aan 0, niet stoppen.
n = input("invoer: ")
while n != 1:
n = collatz(int(n))
通过输入
5
给出16
,因为16
是[5,16,8,4,2,1]
的最大值,如果n
大于该变量的值,则只需使用n
更新max变量即可:
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
elif number % 2 == 1:
result = 3 * number + 1
print(result)
return result
#4. zolang n ongelijk is aan 0, niet stoppen.
n = input("invoer: ")
while n != 1:
n = collatz(int(n))
通过输入
5
可以得到16
,因为16
是[5,16,8,4,2,1]
的最大值,因此可以重构代码,以打印Collatz序列中的最大值,如下所示:
def collatz(number):
if number % 2 == 0:
return number // 2
elif number % 2 == 1:
return 3 * number + 1
n = input('invoer: ')
m = 0
while n != 1:
if n > m: m = n
n = collatz(int(n))
print('the max was:', m)
def collatz(编号):
如果数字%2==0:
返回编号//2
其他:
返回(3*编号)+1
#重构此部分,因为Collatz猜想是为正
#仅限数字
尝试:
n=int(输入('发票人:'))
如果n可以对代码进行重构,以打印Collatz序列中的最大数量,如下所示:
def collatz(number):
if number % 2 == 0:
return number // 2
elif number % 2 == 1:
return 3 * number + 1
n = input('invoer: ')
m = 0
while n != 1:
if n > m: m = n
n = collatz(int(n))
print('the max was:', m)
def collatz(编号):
如果数字%2==0:
返回编号//2
其他:
返回(3*编号)+1
#重构此部分,因为Collatz猜想是为正
#仅限数字
尝试:
n=int(输入('发票人:'))
如果n