Raiz quadrada

Tem como fazer um programa que recebe um número x e mostre sua raiz quadrada?
Ps: Sem utilizar a biblioteca"math.h" (sei que é possivel usando essa biblioteca)

Se a biblioteca math implementa isso, e não usa algum tipo de magia, então deve ter como implementar, não é mesmo? :yum:

O que é a raiz quadrada? É o inverso da operação do quadrado, ou seja

sqrt(x2) = x

quando

x * x = x2

Sabendo isso dá pra pensar em algum algoritmo que calcule x a partir de x2. Por exemplo, podemos iterar desde 0 até achar um valor que quando multiplicado por si mesmo de um valor proximo ao de x2, e assim temos a raiz quadrada.

 para x := 0 ate INFINITO faça:
     se (x * x) >= x2 então:
         retorne x

É ineficiente mas funciona. Assim da para tentar bolar outros algoritmos mais eficientes para números grandes, por exemplo da pra tentar ir percorrendo ao contrario usando divisão de x2 por x, etc. Só usar a criatividade, analisar as relações entre os números, o domínio de resultados possíveis podendo descartar coisas que dá pra saber de antemão que não vão fazer parte da solução, etc.