题目链接:https://nanti.jisuanke.com/t/17
设计函数int sqrt(int x)
,计算 x 的平方根。
输入格式
输入一个 整数 xx,输出它的平方根。直到碰到文件结束符(EOF
)为止。
输出格式
对于每组输入,输出一行一个整数,表示输入整数的平方根。
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int Sqrt(int n) //二分
{
if(n<0)
return n;
double mid,last;
double low,up;
low=0,up=n*1.0;
mid=(low+up)/2;
do
{
if(mid*mid>n)
up=mid;
else
low=mid;
last=mid;
mid=(up+low)/2;
}while(fabs(mid-last) > 0.0000000000000001);//精度控制,double精度为15~16位
return mid;
}
int main()
{
int x;
while(cin>>x)
{
cout<<Sqrt(x)<<endl;
}
return 0;
}