二分查找是一种简单快捷的查找方式,基于一种将有序区间从中间分成两部分,并排除其中的一部分直到找到一个值为所需值。
#include <iostream>
#include <stdio>
using namespace std ;
int main ( ) {
//整数查找;
int find ; cin >> find ;
int l = 0 , r = 1000000;
while ( r-l > 1 ) {
int mid = ( l + r ) >> 1 ;
if ( l <= find ) l = mid ;
else r = mid ;
}
cout << l << endl ;
//小数查找,精确度为0.000001;
double find ; cin >> find ;
double l = 0 , r = 10000 ;
while ( r-l > 0.000001 ){
double mid = ( l + r ) / 2 ;
if ( l <= find ) l = mid ;
else r = mid ;
}
printf("%.6f",l);//保留六位小数;
return 0 ;
}