Raíz de un n° sin calculadora y sin la lib. math...help

Mauro
16 de Noviembre del 2004
Hola
Necesito el codigo para sacar la raiz la cuadrada de un numero sin ocupar calculadora y sin la libreria math.
si alguno la tuviera le estare agradecido si me la envia...
Salu2............Mauro

jojolas
16 de Noviembre del 2004
puedes calcularlo ocupando el metodo de newton:

Raiz n+1=1/2*(Raiz n + x/Raiz n)

en codigo, de forma iterativa queda asi:

public static double raiz(double n, int i) {
double x = n/2;
for (int j = 1; j <= i; j++)
x = (x + n/x)/2;
return x;
}

donde n es el numero a calcular e i es la cantidad de veces que quieres q itere, mientras mayor es i, mas exactitud... espero te sirva

alejo_ing1983
16 de Noviembre del 2004
Hola, aqui tengo el codigo de un aplet que diseñe para calcular el numero entero solamente de las raices a la n, pruebalo.

import java.awt.*;
import java.applet.*;

public class Raiz extends Applet {
int x,y,z,res,ant,i,otro,j,op;
TextField raiz,num;
Button aceptar;
public void init() {
raiz=new TextField(2);
num=new TextField(2);
aceptar=new Button("proces");
add(raiz);
add(num);
add(aceptar);
}

public boolean action(Event e, Object o){
if(e.target==aceptar){


x=Integer.parseInt(raiz.getText());
y=Integer.parseInt(num.getText());
}
repaint();
return true;
}

public void paint(Graphics g) {

double prueba;


z=0;
i=0;
otro=0;
res=0;
op=x-1;

while(res<y){
j=1;
i=i+1;

while(j<=op){

if(j==1){
res=i*i;
}
else
{
res=res*i;
}
j=j+1;
}

if(res>=y){
if(res>y){
i=i-1;
}
g.drawString("el resultado entero es: "+i+" de la raiz de"+y,10,50);
z=1;
}


}
}



}