萌新站外75分求调
  • 板块灌水区
  • 楼主wrup_AC_28
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/12/16 09:48
  • 上次更新2023/12/16 11:34:49
查看原帖
萌新站外75分求调
1161928
wrup_AC_28楼主2023/12/16 09:48

数学上把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了一个,求调

2023/12/16 09:48
加载中...