Quadratwurzel

Da denk ich mir ein eigenes Verfahren aus und freue mich ob dessen Effizienz.
Danach sehe ich in Wikipedia nach und sehe nach längerem Überlegen, dass es im Prinzip dasselbe wie das Heron Verfahren ist.Ich hab zwar jetzt nur ein Verfahren, aber ich pfeiff drauf.
Mir gefällt dieses (logischerweise) am Besten!
Hier meine Version in C:

Code:
# include <stdio.h>
double stellen []={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000,100000000000,1000000000000,1000000000000,100000000000000,1000000000000000,100000000000000000};

void round (double *d,int s) {
*d *= stellen[s];
*d += 0.5;
*d = (int)*d;
*d /= stellen[s];
}

int main () {

double a,b,c;

b=900; //Das ist die Zahl, dessen WUrzel gesucht wird!

round (&b,6);

a=1;
unsigned int i=0;

while(1) {
i++;
if((c=a*a)==b)
break;
printf("Schritt %d : %f,mit a=%f n",i,c,a);
a += (b/a-a)/2;
}

printf("Die Wurzel aus %f ist gleich %f n Das Ergebnis wurde in %d Schritten berechnetn",b,a,i);

return 0;

}
 
Was ist, wenn die Programmiersprache schon eine Methode zur Verfügung stellt?

Code:
puts "Willkommen!!!
puts "Bitte geben Sie die Zahl ein, die berechnet werden soll:"
puts
zahl = gets.to_f                 # Kommentar: Eingabe der Zahl als Fließkommazahl
zahl = Math.sqrt
puts "Ergebnis: #{zahl}"

so einfach ist Ruby
 
Original von JTron
Was ist, wenn die Programmiersprache schon eine Methode zur Verfügung stellt?

Code:
puts "Willkommen!!!
puts "Bitte geben Sie die Zahl ein, die berechnet werden soll:"
puts
zahl = gets.to_f                 # Kommentar: Eingabe der Zahl als Fließkommazahl
zahl = Math.sqrt
puts "Ergebnis: #{zahl}"

so einfach ist Ruby

du sollst die algorithmen schon selbst implementieren :)

und außerdem soll der user zwischen zwei algorithmen wählen können.
 
Zurück
Oben