Potenz in Java z.B 2^n?

4 Antworten

x -> 1
für i von n bis 1:
  x -> x*2

Wenn du willst, kannst du den Spaß auch rekursiv machen.

Woher ich das weiß:Hobby – Ich programmiere in meiner Freizeit mit Java.
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.