Честно украдено в тырнетах и немного настроено под свои нужды: int sqrt(int x)
{
if (x < 2) // avoid div / 0
{
return x;
}
unsigned int ret = 44; // starting point is relatively unimportant
for (int i = 0; i < 6; i++)
{
ret = (ret + x / ret) / 2;
}
// almost exact for x ~ 1 .. 500000
return ret;
}