Честно украдено в тырнетах и немного настроено под свои нужды: 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;
}