问题描述
我正在尝试为Collatz序列优化代码。我意识到,如果该序列的结果为2的幂,它将直接前进1。我试图获取该结果,以使该函数的结果为2的幂,程序将显示“ 2“。
def collatz(number):
if number % 2 == 0:
print(number // 2)
return number // 2
elif number % 2 == 1:
result = (3 * number + 1) // 2
print(result)
return result
power = log(result,2)
if power - int(power) == 0:
end = "Power of 2"
print(end)
n = input("Choose an integer: ")
while n != 1:
n = collatz(int(n))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)