2016-07-16 14 views
1

私の目標は、nの2倍の入力整数よりも最も近い数値を得ることです。値に最も近い大きな2 ** n値を見つける方法?

たとえば、nearestbiggerはどうすればよいですか?

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

予想される出力

2048 
512 
16384 
+0

OPはPythonのsoluitonを求めているので、いわゆる重複はクロス言語であり、実際にはPythonは今そこにあるのに対し、私は、この質問をリニューアルオープンしましたそこに解決策。 – shx2

答えて

1
def nearesbigger(n): 
    if n <= 0: 
     return 1 
    return 2 ** (n-1).bit_length() 
関連する問題