Wie berechne ich die Fakultät bei Java?

3 Antworten

Um die Fakultät einer Zahl in Java zu berechnen, können Sie folgenden Code verwenden:


Copy code
// Die Fakultät einer Zahl n berechnen int n = 5; // Zahl, deren Fakultät berechnet werden soll int result = 1; // Ergebnisvariable, initialisiert mit 1 // Schleife, die von 1 bis n läuft und das Ergebnis bei jedem Durchlauf mit dem aktuellen Wert von i multipliziert for (int i = 1; i <= n; i++) { result *= i; } // Ausgabe des Ergebnisses System.out.println(n + "! = " + result);

In diesem Code wird zunächst die Zahl festgelegt, deren Fakultät berechnet werden soll (hier 5). Dann wird eine

for

-Schleife verwendet, um die Zahlen von 1 bis 5 zu durchlaufen und das Ergebnis bei jedem Durchlauf mit dem aktuellen Wert von

i

zu multiplizieren. Nach dem Durchlauf der Schleife wird das Ergebnis mit

System.out.println

ausgegeben.

Wenn Sie den Code ausführen, wird als Ergebnis "5! = 120" ausgegeben.

Um die Fakultät einer Zahl mit einer

while

-Schleife zu berechnen, können Sie stattdessen folgenden Code verwenden:


Copy code
// Die Fakultät einer Zahl n berechnen int n = 5; // Zahl, deren Fakultät berechnet werden soll int result = 1; // Ergebnisvariable, initialisiert mit 1 int i = 1; // Variable, die beim Durchlaufen der Schleife erhöht wird // Schleife, die solange ausgeführt wird, bis i größer als n ist while (i <= n) { result *= i; // Ergebnis mit i multiplizieren i++; // i um 1 erhöhen } // Ausgabe des Ergebnisses System.out.println(n + "! = " + result);

In diesem Code wird die Zahl, deren Fakultät berechnet werden soll

Wie berechne ich die Fakultät bei Java mit einer while Schleife?

Indem du eine Ergebnis-Variable mit Wert 1 instanziierst und in der Schleife dann entweder hoch- oder entsprechend runterzählst - und den Wert der Schleifenvariable immer auf das Ergebnis draufmultiplizierst

Kann mir da wer helfen?

Was hast du schon, wo hängst du ?

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)
User6781 
Fragesteller
 16.11.2022, 19:08

Was hast du schon, wo hängst du ? -> leider fast überall, also ich weiß so wie man das Grundgerüst für eine while Schleife baut aber so viel mehr dann auch nicht.

0
xxxcyberxxx  16.11.2022, 19:11
@User6781
also ich weiß so wie man das Grundgerüst für eine while Schleife baut aber so viel mehr dann auch nicht.

mehr brauchst du prinzipiell auch nicht

0
long fak (int n) {
  long fak = 1;
  while (n > 1) {
    fak *= n;
    n--;
  }
  return fak;
}

Weil die Fakultät so schnell wächst, eskaliert das relativ schnell. Für große Zahlen ist long daher ungeeignet.

User6781 
Fragesteller
 16.11.2022, 19:10

Hab den Code jetzt ausprobiert aber bei mir geht es leider nicht bzw es werden sehr viele Fehlermeldungen gezeigt. Woran könnte das liegen?

0
DummeStudentin  16.11.2022, 19:12
@User6781

Das steht in den Fehlermeldungen.

Du solltest sowieso versuchen, den Code zu verstehen, statt ihn zu kopieren. Ich habe den Code hier schnell ohne IDE hin gerotzt, vermutlich enthält er Syntaxfehler.

1