Raiz cuadrada

Milena
21 de Mayo del 2005
Hola
Necesito el codigo para sacar la raiz la cuadrada de un numero sin utilizar funciones como la Match,sqrt...

pitukilloloco
21 de Mayo del 2005
Bueno, si sólo quieres sacar la raíz cuadrada puedes implementarla por medio del método muy ineficiente pero muy fácil de entender e implementar de dividir progresivamente el número entre 2 hasta que el cuadrado de la mitad se acerque tanto como tu quieras a la solución. Te paso un ejemplo de un programa en C que lo hace. En él, si quieres más precisión, entonces debes de aumentar el número de iteraciones. Tanto "inf" como "sup" se acercan a la solución, uno por defecto y otro por exceso respectivamente. Espero te sirva. Hasta luego y suerte

#include <stdio.h>

main ()
{
int i, niter = 20; /* número de iteraciones */
double n = 2.; /* variable con el número al cual se sacará raíz cuadrada */
double inf = 0, sup = n, multi, mitad;

printf ("n");
for (i = 0; i < niter; i++) {
mitad = (sup - inf) / 2.;
multi = (inf + mitad) * (inf + mitad);
if (multi < n)
inf += mitad;
else if (multi > n)
sup -= mitad;
else
break;
printf ("#%d: %20.12ft%20.12fn", i+1, inf, sup);
}
printf ("#%d: %20.12ft%20.12fn", i+1, inf, sup);
}

lanegra511
21 de Mayo del 2005
aqui esta un codigo listo espero que lo entiendas

lanegra511
21 de Mayo del 2005
#include <conio.h>
#include <stdio.h>
#include <iostream>
int main()
{
double teodio, numero, va, raiz, loco;
int respuesta;

do
{
printf (" 1.-Entrar al programan");
printf (" 2.-Salir del programann ");
scanf ("%d", &respuesta);
switch (respuesta)


{
case 1:

printf("nn ****Introduzca el numero que desea obtener su raiz**** n");
scanf ("%lf", &numero);

for( va=0; va <= numero; va++)
{
loco = (va * va);

if (loco == numero )
{
teodio = va;
break;

}

if(loco > numero)
{
teodio = va - 1;

break;
}
}
if (teodio * teodio == numero)
{
textattr (128);
printf(" Su raiz es %.0lf ", teodio);
textattr (10);
}
else
{


do
{

teodio = teodio + 0.000001;
}
while(teodio * teodio < numero);
textattr (128);
printf("SU RAIZ %lf ", teodio);
}
break;
case 2:

printf (“hasta luego buen dia”);


break;
default:

printf (" !!!!!!!!!!!!Solo opcion 1 y 2!!!!!!!!!!!!!!!nn");

break;
}
}
while (respuesta !=2);
getch();
return 0;

}