Hoch 3 in C proggramieren?

7 Antworten

Hallo

In C gibt es keinen eingebauten Operator für Exponentiation.

Da es sich nur um die dritte Potenz handelt, kannst du einfach die Zahl dreimal mit sich selbst multiplizieren:

int result = 38 * 38 * 38;

Du kannst aber auch pow aus der Mathematik Bibliothek verwenden, pow arbeitet aber mit double-Typen, das kannst du also nicht immer verwenden

#include <stdio.h>
#include <math.h>

int main() {
  double result = pow(38, 3);
  printf("38 hoch 3 ist %f\n", result);
  return 0;
}
Woher ich das weiß:Berufserfahrung

Als Methode ohne zusätzliche header:

int PowerOfThree(int value)

{

return value*value*value;

}

Beachte bei der Variablendeklarierung dass du keinen Overflow of int hervorrufst, unsigned long könnte eine besser Option sein wenn du große Zahlen verrechnest.

Mit Header math.h:

int result = pow(value,3);

Woher ich das weiß:Hobby – Dampfer seit 2018

38 * 38 * 38, wenn es konstant ist.

Mit variablen Basen und Exponenten kannst Du auch die pow(...) Funktion nehmen, oder Du programmierst es als Schleife.

Anwarshah 
Fragesteller
 30.04.2024, 10:38

Darauf bin ich auch selber gekommen, aber kann man es nicht einfacher und kürzer schreiben mit einer Funktion?

0
MonkeyKing  30.04.2024, 10:55
@Anwarshah

Ja, aber die Funktion musst du selber schreiben oder eine Math Library verwenden

0
int potential(int base, int exp)
{
  int counter = 0;
  int result = 1;
  for(counter; counter < exp; counter++)
  {
    result = result*base;
  }
  return result;
}

Wäre mir auf die Schnelle mal eingefallen für eine generische Funktion ganz ohne Library.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems

pow(38,3); /* dafür brauchst Du die Math.h" Headerdatei */

oder

38*38*38