Hoch 3 in C proggramieren?
Hallo an Alle,
wie schreibe ich zB. 38³ (hoch 3) in C?
Über eine Antwort würde ich mich sehr freuen.
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;
}
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);
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.
Ja, aber die Funktion musst du selber schreiben oder eine Math Library verwenden
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.
pow(38,3); /* dafür brauchst Du die Math.h" Headerdatei */
oder
38*38*38
Darauf bin ich auch selber gekommen, aber kann man es nicht einfacher und kürzer schreiben mit einer Funktion?