2311. 魔法坚果大百科

1000ms 256MB 简单 二分算法
题目描述
松鼠哈利在翻阅一本《魔法坚果大百科》,他需要在第 15 页到第 45 页之间,快速查找到记载着特定配方的第 $n$ 页。 哈利决定采用二分法进行快速翻页,每次查找的中间值公式为: $$mid = \lfloor (L + R) / 2 \rfloor$$ 其中 $L$ 和 $R$ 分别为当前查找区间的最小页码和最大页码。 每确定一次 $mid$,就算作一次查找。请你计算哈利查找到第 $n$ 页一共需要查找多少次?
输入格式
一行,包含一个正整数 $n$ ($15 \le n \le 45$),表示要查找的页码。
输出格式
一行,输出一个整数,表示查找的次数。
样例 1
输入 (Input)
18
输出 (Output)
3
- 对于所有数据:$15 \le n \le 45$。 - **样例说明**: 初始范围为 $[15, 45]$,要查找的目标为 $18$。 - 第一次:$mid = (15 + 45) / 2 = 30$。因为 $30 \gt 18$,下一步查找范围缩小为 $[15, 29]$。 - 第二次:$mid = (15 + 29) / 2 = 22$。因为 $22 \gt 18$,下一步查找范围缩小为 $[15, 21]$。 - 第三次:$mid = (15 + 21) / 2 = 18$。此时 $mid == 18$,成功找到目标,查找次数为 3。 - **算法提示**: 直接模拟二分搜索的过程,用一个计数器记录循环执行的次数即可。
自测终端 stdin → stdout
输入 stdin
CtrlShiftEnter
输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字