{int poz;
poz=(p+u)/2;
if(nr==x[poz]) cout<<Găsit pe poziția "<<poz;
else {if(p<u) { if(nr>x[poz]) caut(p,poz-1);
else caut(poz+1,u);}
else {cout<<"Nr căutat nu se afla in șir";}
}
Algoritmul e aproape identic. Singura diferență este faptul că se inversează intervalul înjumătățit in care trebuie căutat numărul (in loc de mai mic avem mai mare).