描述
现有一字典,查找字典15到45页中,某一页的页码,用二分法快速翻至所需要页码,需要翻多少次?(中间值 mid = (最大值+最小值)/2)
输入描述
字典中某一页的页码n。(15≤n≤45)
输出描述
一个整数,表示查找的次数。
样例输入 1
18
样例输出 1
3
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int l=15,r=45,mid,cnt=0;
while(l<=r){
mid = (l+r)/2;
if(mid>n){
r=mid-1;
cnt++;
}else if(mid<n){
l=mid+1;
cnt++;
}else if(mid==n){
cnt++;
break;
}
}
cout<<cnt;
return 0;
}