Potenz in Java z.B 2^n?
Hallo, ich bin neu in Java und soll eine Methode deklarieren m, die eine Zahl i mit sich selbst so oft multipliziert wie n als Potenz angegeben sind. Ich hab schon viel recherchiert aber ehrlicher Weise nicht alt Zuviel gefunden...Könnt ihr mir weiterhelfen. Und die Methode Math.pow darf nicht verwendet werden, wäre auch zu schön LG
4 Antworten
x -> 1
für i von n bis 1:
x -> x*2
Wenn du willst, kannst du den Spaß auch rekursiv machen.
public static int pow(int i, int n) {
return IntStream.range(0,n).reduce(1,(a,b)->a*i);
}
oder:
public static int pow(int i, int n) {
int[]a=new int[n];
Arrays.fill(a,i);
return Arrays.stream(a).reduce(1,(b,c)->c*b);
}
oder:
public static int pow(int i, int n) {
int[]a=new int[n];
Arrays.fill(a,i);
int r=1;
for (int j=0; j<n; j++) {
r*=i;
}
return r;
}
oder:
public static int pow(int i, int n) {
int[]a=new int[n];
Arrays.fill(a,i);
int r=1;
for (int x:a) {
r*=x;
}
return r;
}
oder:
public static int pow(int i, int n) {
int r = 1;
for (int x = 0; x < n; x++) {
int t = r;
for (int y = 0; y<i-1; y++) {
r+=t;
}
}
return r;
}
oder (ernsthaft):
public static int pow(int i, int n) {
// Ergebnis erstmal auf 1 setzen, weil alles hoch 0 ist 1
int result = 1;
// Ergebnis so oft mit der Basis multiplizieren, wie der Exponent angibt
for (int potenz = 0; potenz < n; potenz++) {
result *= i;
// oder: result = result * i;
}
// Ergebnis zurückgeben
return result;
}
Wie wärs mit ner for-schleife, die bis n zählt und jedes mal die vorherige Zahl mit der Basis der Potenz multipliziert, bis n erreicht ist? Du müsstest dann natürlich das Zwischenergebnis bei jedem Durchlauf speichern.
Ich kann dir sagen wie man das allgemein macht, ohne eine bestimmte Programmiersprache:
Ergebnis = 1
Für i = 1 bis i = n:
------Ergebnis = Ergebnis * 2
Gebe Ergebnis zurück.