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

Informatiker Board » Themengebiete » Praktische Informatik » Rekursive Funktion » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Zum Ende der Seite springen Rekursive Funktion
Beiträge zu diesem Thema Autor Datum
 Rekursive Funktion Erstsemester 23.01.2015 19:43
 RE: Rekursive Funktion eulerscheZahl 23.01.2015 19:52
 RE: Rekursive Funktion Erstsemester 23.01.2015 19:56
 RE: Rekursive Funktion eulerscheZahl 23.01.2015 19:58
 RE: Rekursive Funktion Erstsemester 23.01.2015 20:06

Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Erstsemester
unregistriert
Rekursive Funktion Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hi :-)

Ich frage mich echt gerade, wie ich es bei einer rekursiven Funktion schaffe, das ich nur am Ende die 720 als Ergebnis bekomme (einfaches Programm zur Fakultätsberechnung)

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
public class Dateiendung
{
	public static void main (String[]args)
	{
	       rekurs(6); 
	}

	
	static int rekurs (int wert)
	{
		int result = 1;
		if (wert >1) 
		{	
			result = wert*rekurs(wert-1);
			--wert; 
		}
		System.out.println(result);
		return result;
	}
			

}


Meine Ideen:
Vielen Dank ;-)
23.01.2015 19:43
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Programm rechnet [latex]n! = n \cdot (n-1)![/latex] für n > 1, sonst ist das Ergebnis 1.
Das --wert; kannst du dir sparen.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 23.01.2015 19:53.

23.01.2015 19:52 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Erstsemester
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die Antwort, ich meinte aber etwas anderes :-)

Bei der Ausgabe bekomme ich alle Zahlen, also 1,2,6,24,120,720 angezeigt.

Ich möchte aber nur die 720 angezeigt bekommen.
23.01.2015 19:56
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dann solltest du das nicht innerhalb der rekursiven Funktion tun.
code:
1:
2:
3:
4:
public static void main (String[]args)
{
       System.out.println(rekurs(6)); 
}


__________________
Syntax Highlighting fürs Board (Link)
23.01.2015 19:58 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Erstsemester
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Verdammt, das hatte ich böse

Warum geht's jetzt bei dir und bei mir wieder nicht großes Grinsen großes Grinsen

Auf jeden Fall danke ;-)
23.01.2015 20:06
Baumstruktur | Brettstruktur
Gehe zu:
Informatiker Board » Themengebiete » Praktische Informatik » Rekursive Funktion