Programm ändern |
03.04.2015, 13:47 | Auf diesen Beitrag antworten » | |||||
hi | Programm ändern public double exp(double x, int n) { double end = 1; while(n>0) { end = end * x; n--; } return end; kann man auch public double exp(double x, int n) { while(n>1) { x*= x; n--; } return x; |
|||||
|
||||||
03.04.2015, 13:55 | Auf diesen Beitrag antworten » | |||||
Mike90 | Das Programm wird dir so nicht laufen, da x nicht initialisiert ist. |
|||||
03.04.2015, 13:57 | Auf diesen Beitrag antworten » | |||||
Hi | public double exp(double x, int n) { double end = 1; while(n>0) { end = end * x; n--; } return end; in diesen Programm würde n nicht initialisiert, aber dennoch in while benutzt Wieso läuft dann diese Programm? |
|||||
03.04.2015, 13:58 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl | Nein, da überschreibst du ja die Basis, mit der multipliziert wird. 2^3 ist eben 2*2*2 und nicht (2*2)^4 = 2*2*4. und x,n werden als Funktionsparameter übergeben, sind also initialisiert. Wenn du wissen willst, wie es mit weniger Schleifendurchläufen und somit schneller geht: link |
|||||
Anzeige | ||||||
|
||||||
03.04.2015, 14:00 | Auf diesen Beitrag antworten » | |||||
Hi |
Das sehe ich ein, aber stimmt das? Das Programm wird dir so nicht laufen, da x nicht initialisiert ist. |
|||||
03.04.2015, 14:02 | Auf diesen Beitrag antworten » | |||||
Hi |
public double exp(double x, int n){ double x= 3; -> das geht nicht!? |
|||||
03.04.2015, 14:04 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl |
|
|