实现int sqrt(int x)的函数。
计算并返回x的平方根,其中x是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被抹去。
在计算的时候我们需要注意两点。
1、x为0的时候,直接输出结果0;
2、x不为零的时候,我们只需要确定num*num>x并且(num+1)*(num+1)<x的值即可。
#include<iostream>
using namespace std;
int sqrt(int x)
{
if (x == 0)
{
return 0;
}
int num = 1;
for (; ;)
{
if (num*num<=x && (num + 1)*(num + 1)>x)
{
return num;
}
else if (num == x)
{
cout << "输出结果失败!\n";
return -1;
}
num++;
}
}
int main(void)
{
int x = 0;
cin >> x;
cout << sqrt(x);
}