设计函数int sqrt(int x)
,计算 xx 的平方根。
输入格式
输入一个 整数 xx,输出它的平方根。直到碰到文件结束符(EOF
)为止。
输出格式
对于每组输入,输出一行一个整数,表示输入整数的平方根。
样例输入
1 2 3 4 5 6 7 8 9
样例输出
1 1 1 2 2 2 2 2 3
#include<iostream>
#include<cstdio>
using namespace std;
float InSqrt (float x)
{
float xhalf = 0.5f * x;
int i = *(int*)&x;
i = 0x5f3759df - (i>>1);
x = *(float*)&i;
x = x*(1.5f - xhalf*x*x);
x = x*(1.5f - xhalf*x*x);
x = x*(1.5f - xhalf*x*x);
return (1 / x);
}
int main()
{
float n;
while((scanf("%f",&n))!=EOF)
cout<<(int)InSqrt(n)<<endl;
return 0;
}