这是我创建的代码,用于查找2因子的最大功率。我不认为这是100%正确,因为我一直得到2作为答案。我需要一些帮助来解决这个问题。我是编程新手。
我的代码:
def largestPowerOfTwoThatIsAFactorOf(num):
factor = 2
while not(num > 0):
factor = factor + 1
return factor
print(largestPowerOfTwoThatIsAFactorOf(4))
print(largestPowerOfTwoThatIsAFactorOf(15))
print(largestPowerOfTwoThatIsAFactorOf(120))
#For any odd integer, largest power of 2 that’s a factor is 1.
答案 0 :(得分:-2)
def largestPowerOfTwoThatIsAFactorOf(num):
if num % 2 != 0: return 1
factor = 0
while num % 2 == 0:
num /= 2
factor += 1
return 2 ** factor
## or return factor; as per your requirement
您需要在循环内更新num
。此外,您可以通过在第一个语句中检查输入是否为奇数来稍微优化代码。