Rekursive Funktion

Neue Frage »

Auf diesen Beitrag antworten »
Erstsemester Rekursive Funktion

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 ;-)
 
Auf diesen Beitrag antworten »
eulerscheZahl

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.
Auf diesen Beitrag antworten »
Erstsemester

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.
Auf diesen Beitrag antworten »
eulerscheZahl

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)); 
}
 
Auf diesen Beitrag antworten »
Erstsemester

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 ;-)
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »