数学上把2的K次方叫2的K次幂,如4、8、32等。给定一个整数n,请输出距离它最近的那个2的幂是多少。如果有两个距离相同,输出那个小的。
输入格式
只有一个整数 n(10 <= n <= 2000000000)
输出格式
只有一个整数,表示距离 最近的那个2的幂。
样例
输入数据
17
输出数据
16
给一下我的代码;
#include <iostream>
using namespace std;
int c(int n) {
int p = 1;
while (p * 2 <= n) {
p *= 2;
}
return p;
}
int main() {
int n;
cin >> n;
int r = c(n);
cout << r << endl;
return 0;
}
75分,WA了一个,求调