二分:
二分模板(x~y猜数字):
#include<bits/stdc++.h>
using namespace std;
int n,x,y,q,l,r,m;
//l=区间前面的点,r=区间后面的点
int main(){
cin>>x>>y>>n;//n=猜的数字
l=x,r=y,m=(l+r)/2;//m=中间值
while(l<=r){
q++;
m=(l+r)/2;
if(m>n){//猜大了
r=m-1;
}else if(m<n){//猜小了
l=m+1;
}else{//猜对了
break;
}
}
cout<<q;//猜的次数
return 0;
}