1005: 【基础】寻找2的幂
内存限制:16 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:41
解决:18
题目描述
数学上把2的K次方叫2的K次幂,如4、8、32等。给定一个整数n,请输出距离它最近的那个2的幂是多少。如果有两个距离相同,输出那个小的。
输入
只有一个整数 n(10 <= n <= 2000000000)
输出
只有一个整数,表示距离 最近的那个2的幂。
样例输入 复制
17
样例输出 复制
16
提示
n=int(input()) ans=1 k=0 while True: if ans>=n: if ((2**k-n)<(n-2**(k-1))): ans=2**k else: ans=2**(k-1) break k+=1 ans=2**k print(ans)