2016-07-16 85 views
1

我的目標是得到最接近的數字大於輸入整數,它是n的兩倍。如何找到最接近較大的2 ** n值?

例如,nearestbigger應該是什麼?

integerinput = [2016, 300, 9001] 
for x in integerinput: 
    print(nearestbigger(x)) 

期望輸出

2048 
512 
16384 
+0

我已經重新開放這個問題,因爲OP正在尋求一條巨蟒soluiton,而所謂的重複是跨語言,而事實上現在有蟒蛇解決方案。 – shx2

回答

1
def nearesbigger(n): 
    if n <= 0: 
     return 1 
    return 2 ** (n-1).bit_length()