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:
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;
}