二分搜索技术
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
template<class Type>
int BinarySearch(Type a[],const Type &x,int n)
{
int left=0;int right=n-1;
while(left<=right)
{
int middle=(left+right)/2;
if(x==a[middle])
return middle;
if(x>a[middle])
left=middle+1;
else
right=middle-1;
}
return -1;
}
int main()
{
int n;
int a[100];
while(cin>>n)
{
for(int i=0;i<n;++i)
cin>>a[i];
sort(a,a+n);
int f;
cin>>f;
int dir=BinarySearch(a,f,n);
cout<<dir<<endl;
}
}
大整数的乘法