Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » For Schleife; Fakultät erstellen. » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 6 Beiträge
ElAntonio

VIELEN DANK AN ALLE,
Dank eurer Hilfe, habe ich das ganze verstanden!
DANKE!
ElAntonio For schleife

Ich weiss schon dass ich das dranmultiplizieren muss. Das ist ja auch nicht mein Problem.

int n=3;
for(int i = n; i>0;i--){
print(i+"*");





}
print("=");

ich hab das ganze jetzt umgestellt. Dennoch bekomme ich die multiplikation nicht gebacken. Ich bin ein absoluter Anfänger und weiss nicht genau was ihr damit meint.
Generell zeigt mir Processing an, dass ich den Operator *= nicht verwenden kann. Jedes mal wenn ich das schreiben will kreidet er mir das an. Egal in welchem Zusammenhang.

Ausserdem steht jedes mal nach der letzten Ziffer vor dem = ein *.
Kann ich irgendwie einen backslash einfügen?
unglücklich (
NixJava

Hallo,

du solltest außerhalb der Schleife einen neuen Integer anlegen und mit 1 initialisieren. Marco hat diesen result genannt. An diese Variable kannst du innerhalb deiner for-Schleife jeweils die Zahlen i=1,2,3,...,n multiplizieren.
Nachdem die Schleife durchlaufen wurde, kannst du das Ergebnis (steht in result) ausgeben.

code:
1:
2:
3:
4:
5:
6:
7:
8:
int n;
// Variable anlegen und initialisieren

for(int i=1; i<=n; i++) {
  // multiplizieren
}

// Ergebnis ausgeben
ElAntonio FOr schleife

int n=3;

for(int i=1; i<=n; i++) {

println(i*=n--);




}
macht das jetzt so mehr sinn?

ich denke nicht, denn jetzt kommt genau n jedes mal raus.
Ich weiss echt nicht was ich anders machen soll. Mir ist schon bewusst dass ich eine zweite Variable benötige. Aber was Du mir gerade erklärt hast habe ich ehrlichgesagt nicht verstanden.
Ich gehe von 1 schrittweise hoch
1 2 3
deshalb i++
und wenn ich das so hinschreibe dann klappt das ja auch.
Aber sobald ich was multiplizieren willl. klapppt das ganze nicht mehr.
as_string

Du musst zuerst eine Variable anlegen, in der Du am Ende das Ergebnis haben willst, und diese mit 1 (das neutrale Element der Multiplikation) initialisieren.
Dann musst Du in der Schleife zu dieser Ergebnisvariable immer den neuen Faktor "dran-multiplizieren". Dafür kannst Du den Operator "*=" verwenden.
Also in der Schleife so was wie
code:
1:
result *= i;

Gruß
Marco
forschleifenschreiber For Schleife; Fakultät erstellen.

Meine Frage:
Hallo,
mir wurde folgende Aufgabe gestellt:
Gegeben den folgenden Code:

int n = 3;
berechnen Sie die Fakultät von n, also das Ergebniss der Multiplikation von
1 * 2 * ... * n.
Im Beispiel wäre das:6
Testen Sie Ihr Programm auch z.B. mit 5 und 10.

Meine Ideen:
int n=3;
for(int i=1;i<=n;i++) {
print(i);
}
Mein Problem hierbei ist, dass ich es zwar hinbekomme die Zahlenreihe 123 usw hinzubekommen, sondern daraus eine zusammenhängende Rechnung zu machen.

int n=3;

for(int i=1; i<=n; ++i) {

println(i*n--);




}
wäre mein zweiter Ansatz gewesen. Dennoch vorab ist da für mich keine Lösung in Sicht großes Grinsen :/