hi,
ich moechte ein programm schreiben, dass mir die wurzel aus einer beliebigen zahl n bis auf einen fehler
0.00001 abschaetzt.das ganze soll iterativ mit intervallschachtelung gemacht werden mein programm sieht bis jetzt so aus,funktioniert aber noch nicht richtig.jmd eine idee wo der fehler liegt?
ich moechte ein programm schreiben, dass mir die wurzel aus einer beliebigen zahl n bis auf einen fehler
0.00001 abschaetzt.das ganze soll iterativ mit intervallschachtelung gemacht werden mein programm sieht bis jetzt so aus,funktioniert aber noch nicht richtig.jmd eine idee wo der fehler liegt?
Java:
double n;
double m;
n=Tools.readInt();//n einlesen
double a=1.0;
double b=n+1;//n+1^2 wird immer groesser sein als n
m=(b+a)/2.0;
while (errorMargin>0.00001)
{
if (((b+a)/2.0)*((b+a)/2.0)<=n)
{
m=(m+b)/2.0;
}
else
{
m=(a+m)/2.0;
}
errorMargin=Math.abs(Math.sqrt(n)-m);
}
System.out.println(m);
Zuletzt bearbeitet von einem Moderator: