Bueno, justo hace poco estuve comentando en otro tema sobre una curiosidad que yo tenía al calcular la raíz cuadrada de un número sin la función sqrt()... Luego de buscar y buscar por internet y consultar con unos amigos, este ha sido el código que resultó de ello:
function raiz($num){
if($num != 0){
if($num < 0)
{
$num = $num*(-1);
$ima = "i";
}
else {
$num = $num;
$ima = "";
}
$aprox = 0;
while($aprox*$aprox < $num){
$aprox = $aprox + 0.1;
$val1 = $aprox;
}
for($i = 0; $i < 10; $i++){
$val2 = $num;
$val2 = $val2 / $val1;
$val2 = $val2 + $val1;
$val2 = $val2 / 2;
$val1 = $val2;
}
$res = $val2;
}
else {
$res = 0;
$ima = "";
}
return $res.$ima;
}Obviamente, en casos como: "$val2 = $val2 + $val1" se puede usar los operadores con asignación "$val2 += $val1", pero preferí hacerlo así para el que no entendiera esos operadores... Esta función permite reconocer si un número es 0 (para mostrar de respuesta 0) y si es negativo, calcular su raíz positiva y colocarle una letra i al lado, que vendría siendo la i de imaginario
