TB椰程 TypeBuddy 打字搭子

一尺之棰

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 333 字

每天长度减半(向下取整),数到变成 1 的天数

  • 洛谷
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/1375
// 题意:第 1 天木棍长 a,之后每天长度减半(向下取整),求第几天长度变为 1。
// 思路:第 1 天为 a;只要仍大于 1,就除以 2 并天数加一。
// 复杂度:O(log a)。
// 易错点:减半用整数除法(向下取整);循环条件用 >1 而非 >=1。
#include <iostream>
using namespace std;
int main(){
    int a, day = 1;
    cin >> a;
    while(a > 1){ a /= 2; day++; }
    cout << day << endl;
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK