Schleifen Beispiel: Fakultät

Zarathustra

Mitglied
Beispiel:
Die Fakultät (geschrieben n!) einer Zahl n berechnet sich als n!=123(n-1)n. Schreiben Sie ein Programm das die Fakultät einer eingegebenen Zahl berechnet.


Wie lös ich das am Besten? Muss mit einer Schleife sein!

Danke schon mal im voraus!


Greez
 

Joose

Top Contributor
Es gibt einen eigenen Bereich für Hausgaben,
sollte es doch keine Hausaufgabe sein -> stelle deine Frage genauer! Was verstehst du nicht, wo hängst du?
Zeige deinen bisherigen Code.
 

Zarathustra

Mitglied
Hallo an alle!

Wow, das ging schnell!

Wie ihr vielleicht sehen konntet war dies mein erster Beitrag, sprich ich hab leider nicht gesehen, dass es einen eigenen HÜ Ordner gibt - sorry!

Zweitens: Kopieren tu ich keine Codes. Bin noch ein Anfäger und versuche selbst auf die Lösung zu kommen d.h. ich schau mir die Codes an, versuche sie zu verstehen und versuch es anschließend selbst. Teilweise tipp ich sie auch ab was meiner Meinung noch immer besser ist als kopieren und fertig.

Wo man auch schon beim Problem sind. Mit der ersten Lösung kann ich leider nichts anfangen - sorry... Liegt bestimmt daran, dass ich noch Anfänger bin...

Genauere Angeben zur Aufgabenstellung hab ich leider auch nicht. Hab dies 1:1 von von dem Mail, welches ich vom Prof. bekommen hab, kopiert!
 

Joose

Top Contributor
Entweder habt ihr in Mathe schon die Fakultät durchgenommen und du weißt wie man die Fakultät einer Zahl X berechnet, oder
du musst deinen Professer darauf aufmerksam machen, dass ihr die Fakultät noch nicht berechnen könnt und er auch entsprechende Möglichkeiten geben muss dies zu lernen oder ähnliches.

Ansonsten gibt es auf Wikipedia eine super Erklärung zur Fakultät. Schau dort einfach mal nach, eine allgemeine Formel findet man da auch. Diese musst du dann nur noch in dein Programm übertragen.
 

Zarathustra

Mitglied
Bzgl Code:

Ich weiß einfach nicht wie ich angfangen soll. Was Fakultät bedeutet usw. ist mir natürlich klar.
Mein Hauptproblem ist, wie ich dazu komme, dass es dem Programm egal ist, ob eine Zahl mit ziffern eingegeben wird oder eine mit 5 Ziffern...

Mein Anfang sieht wie folgt aus:

Java:
package fakultaet;

import java.util.Scanner;

public class Fakultaet 
{

    public static void main(String[] args) 
    {
        Scanner scan = new Scanner ( System.in );
        
        long z;
        
        System.out.println( "Bitte geben Sie eine Zahl ein!" );
        z = scan.nextLong();
        
        
    }
    
}
 

Joose

Top Contributor
Wie gesagt auf Wikipedia gibt es eine gute Erklärung der Fakultät. Dort findet sich auch der Sourcecode zur Berechnung der Fakultät geschrieben mit Phyton.

Dein Anfang passt schon mal ... aber du liest ja nur eine Zahl ein. Wenn du mehr hast kannst dich ja wieder melden.
 

Zarathustra

Mitglied
Hello,

hab es gestern Nacht endlich geschafft:

[Java]

package teilbardurchsieben;

import java.util.Scanner;

public class TeilbarDurchSieben
{

public static void main(String[] args)
{
Scanner scan = new Scanner (System.in );

int i;
int zahl1;
System.out.println( "Bitte geben Sie die erste Zahl ein!" );
zahl1=scan.nextInt();

int zahl2;
System.out.println( "Bitte geben Sie die zweite Zahl ein!");
zahl2=scan.nextInt();

for ( i=zahl1; i <= zahl2; i++ )
if ( i%7 == 0 )
System.out.println( "Die Zahl " + i + " ist durch sieben teilbar!");
}
}
[/Java]

Hätte ich was besser machen können, oder passt das Programm im Großen und Ganzen?!
Danke nochmal an alle!!

LG
 

Zarathustra

Mitglied
Oh man, das war ein anderes Programm, was ich geübt hab. Sorry...

Hier ist nochmal das richtige:

[Java]
package fakultaet;

import java.util.Scanner;

public class Fakultaet
{

public static void main(String[] args)
{
Scanner scan = new Scanner ( System.in );
long z, faku = 1;

System.out.println( "Bitte geben Sie eine Zahl ein!" );
z = scan.nextLong();

if ( z >= 0 )
{
while ( z > 1 )
{
faku = faku * z;
z = z - 1;
}
System.out.println( "Die Fakultät der eingebenen Zahl lautet " + faku );
}
else
{
System.out.println( "Eingegebene Zahl muss 0 od. größer sein!" );
}
}
}
[/code]
 

Ice

Mitglied
int fac = 0;
int result = 1; // eine Fakultät ist immer >= 1 , also ist Result minimum1
while(fac != 0)
{
if(fac == 0) result = 1; // 0! = 1
else {
result *= fac;
fac--;
}
}


Machs dir nicht so kompliziert, mein Junge

Ice
 
Zuletzt bearbeitet:

Joose

Top Contributor
Machs dir nicht so kompliziert, mein Junge

1. Für seinen Wissensstand was Java betrifft passt sein Code schon
2. Deinen Code könntest du ruhig in Java-Tags geben -> machs uns nicht so schwer den Code zu lesen!
3. So wie dein Code hier steht passiert genau nichts. Wenigstens ein weitere Kommentar zu "int fac = 0;" wäre notwendig
 

Thallius

Top Contributor
int fac = 0;
int result = 1; // eine Fakultät ist immer >= 1 , also ist Result minimum1
while(fac != 0)
{
if(fac == 0) result = 1; // 0! = 1
else {
result *= fac;
fac--;
}
}


Machs dir nicht so kompliziert, mein Junge

Ice

Also der Code geht noch kürzer:

Java:
Int fac=0

Mehr macht der nämlich nicht.

Gruss

Claus
 

Joose

Top Contributor
Da ihr anscheinend probleme habt diesen Code zu verstehen

Den habe ich schon verstanden auch wenn er schwer zu lesen ist wenn er nicht in Java-Tags steht

, versucht doch mal fac auf ne beliebige Zahl zu verändern

Ich habe ja gesagt ein weiteres Kommentar bei der Zeile wo du "fac" deklarierst und initialisierst wäre nicht falsch gewesen.
Dann wäre das sofort klar das anstatt direkt eine Zahl als Startwert festzulegen diese auch von der Konsole oder so einlesen könnte
 

Ice

Mitglied
Selbst dann ist dein code Quatsch. Was soll die if abfrage innerhalb der Schleife? Diese kann niemals true sein

Was ist los mit dir, der code ist richtig. Du kannst fac per scanner als userinput einlesen und wenn der benutzer 0 als fac ausgerechnet haben will dann wird die if Bedingung erfüllt, das einzige was fehlt ist die Überprüfung auf positive zahlen
 

Joose

Top Contributor
Was ist los mit dir, der code ist richtig. Du kannst fac per scanner als userinput einlesen

Das als Kommentar in der Zeile wäre schon praktisch für Anfänger.

und wenn der benutzer 0 als fac ausgerechnet haben will dann wird die if Bedingung erfüllt, das einzige was fehlt ist die Überprüfung auf positive zahlen

Ja theoretisch schon. Nur kommt man dann nicht einmal in die while-Schleife da "fac" 0 ist und somit nicht != 0 sein kann ;)
Somit ist diese if unnötig.
 
Zuletzt bearbeitet:

Ice

Mitglied
int fac = 0; // Startwert, ggf. als UserInput verlangen
int result = 1; // n-Fakultät ist immer >= 1
do
{
if(fac == 0) break; // 0! = 1
else {
result *= fac;
fac--;
}
} while(fac != 0);
System.out.println(result);
}
 
Zuletzt bearbeitet:

Thallius

Top Contributor
Um es einmal richtig zu schreiben wie man es optimiert. Wobei ich die Version des TO vollkommen in Ordnung finde.

Java:
int zahl = 6; // hier bitte die Zahl zuweisen deren Fakultät errechnet werden soll.
if (zahl <= 1) return 1;
int ergebnis = 1;
while(zahl > 1) ergebnis *= zahl--;
return ergebnis;

Gruss

Claus
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
D Schleifen Problem Java Basics - Anfänger-Themen 2
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
A Schleifen in Java Java Basics - Anfänger-Themen 4
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
C Schleifen Durchlauf Java Basics - Anfänger-Themen 7
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
J Schleifen Wiederholendes Zeichenmuster Java Basics - Anfänger-Themen 4
K For-Schleifen Ablauf Java Basics - Anfänger-Themen 5
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
G Input/Output Schleifen Durchlauf Java Basics - Anfänger-Themen 5
A Erste Schritte Schleifen Java Basics - Anfänger-Themen 5
J Muster und Schleifen Java Basics - Anfänger-Themen 33
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
C Schleifen Java Basics - Anfänger-Themen 12
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
A Erste Schritte for-Schleifen vereinfachen Java Basics - Anfänger-Themen 5
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
kokojamboo92 Schleifen und Arrays Java Basics - Anfänger-Themen 7
N Problem mit Schleifen Java Basics - Anfänger-Themen 20
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
L Schachbrettnummerierung mit Schleifen.. Java Basics - Anfänger-Themen 3
H Schleifen Java Basics - Anfänger-Themen 8
L Zahlentripel und for-Schleifen Java Basics - Anfänger-Themen 2
T Spezielle Aufgabe zu Schleifen Java Basics - Anfänger-Themen 3
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
kilopack15 Rekursion und Schleifen Java Basics - Anfänger-Themen 27
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
P Terminieren diese Schleifen Java Basics - Anfänger-Themen 6
L Was heißt terminieren bei Schleifen? Java Basics - Anfänger-Themen 3
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
C Erste Schritte While-Schleifen-Problem Java Basics - Anfänger-Themen 3
W Schleifen bei Greenfoot Java Basics - Anfänger-Themen 4
B Operatoren Stopp von Schleifen Java Basics - Anfänger-Themen 9
K Loop ohne Schleifen Java Basics - Anfänger-Themen 2
V Rechenzeichen bei Termen - Darstellung bei Schleifen Java Basics - Anfänger-Themen 7
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
L Blöcke bei verschachtelten Schleifen Java Basics - Anfänger-Themen 3
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sternchenpyramide mit For-Schleifen erstellen Java Basics - Anfänger-Themen 9
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
T [Schleifen] Schleifenproblem Java Basics - Anfänger-Themen 4
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
Z Frage zu for-Schleifen Java Basics - Anfänger-Themen 5
M Wie kann ich eine Ausgabe vervielfachen? (Schleifen) Java Basics - Anfänger-Themen 4
T Erneute Frage zu Schleifen Java Basics - Anfänger-Themen 4
V Schleifen die nicht voneinander abhängen! (für CAN-BUS) Java Basics - Anfänger-Themen 10
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
S for-Schleifen Problem Java Basics - Anfänger-Themen 4
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
X Methoden Logik-Problem mit Schleifen. Java Basics - Anfänger-Themen 7
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
W Aufgabe mit Schleifen Java Basics - Anfänger-Themen 8
M Sektkelch mit Schleifen Java Basics - Anfänger-Themen 9
F Methoden JTable + 2 For-Schleifen Java Basics - Anfänger-Themen 4
I Listen, for - Schleifen Java Basics - Anfänger-Themen 8
N Schleifen Problem Java Basics - Anfänger-Themen 3
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
A Ausgabe von Schleifen nebeneinander? Java Basics - Anfänger-Themen 3
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
L schleifen fehler Java Basics - Anfänger-Themen 12
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
K Schleifen und Exceptions Java Basics - Anfänger-Themen 8
J Schachbrett mit Hilfe von while-Schleifen Java Basics - Anfänger-Themen 10
F Nach Beendigung aller Schleifen von vorn anfangen, Java Basics - Anfänger-Themen 5
R Anzahl der ineinander verschachtelten for-Schleifen von Variable abhängig machen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben