problem- if i am giving precision value as 10 and any number then it is not giving output?
PROGRAM
///square root of a number using binary search
#include
using namespace std;
float squareroot(int number,int precision)
{
int start = 0,ends = number;
float ans = 0;
while(start <= ends)
{
int mid = (start + ends)/2;
if(midmid == number)
{
ans = mid;
break;
}
else if(midmid < number)
{
ans = mid;
start = mid + 1;
}
else
ends = mid - 1;
}
float increment = 0.1;
for(int i=0;i<precision;i++)
{
while((ans*ans) <= number)
{
ans += increment;
}
ans = ans - increment;
increment = increment/10;
}
return ans;
}
int main()
{
int number;
cin>>number;
int precision;
cin>>precision;
cout<<squareroot(number,precision)<<endl;
return 0;
}