You are not logged in.

  • Login

1

Friday, November 11th 2005, 7:57pm

[java] fakultät berechnen

Java Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Fakultaet {
	public static void main(String[] args) {
		int zahl=7;
		System.out.println("Die Fakultaet von " + zahl + " ist " + calculate(zahl));
	}
 
	static long calculate(int max) {
		long fakultaet = 1;
 
		for (int zahl=1; zahl<=max; zahl++) {
			fakultaet = fakultaet * zahl;
		}
		return fakultaet;
	}
}

2

Thursday, November 2nd 2006, 1:31pm

Oder das ganze als rekursive Funktion, falls es jemand brauchen kann:

Java Quellcode

1
2
3
4
public static long factorial (int n)
{
  return n == 0 ? 1 : n * factorial (n-1);
}

3

Thursday, November 9th 2006, 10:56pm

Oder so

Java Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Fakultaet
 
{
   public static void main(String [] args) 
 
   {
	int n = 3; 
	long fakultaet = 1;
 
	for (int i=1; i<=n; i++) {fakultaet = fakultaet * i;}
 
	System.out.println("Die Fakultät von " + n + " ist " + fakultaet);
   }
 
}

4

Friday, November 10th 2006, 12:09am

@k-s:
Das ist doch inhaltlich genau das Gleiche wie die Lösung von d0nUt,ausser das er seinen Code in ne Methode gepackt hat :wink: .

Gruß void

5

Friday, November 10th 2006, 4:40pm

Quoted from ""void""

@k-s:
Das ist doch inhaltlich genau das Gleiche wie die Lösung von d0nUt,ausser das er seinen Code in ne Methode gepackt hat :wink: .

Gruß void


Das weiß ich =)

6

Sunday, September 12th 2010, 4:09pm

Hi,

das Thema ist zwar etwas älter, aber was ich kurz anmerken will:

Das wichtigste für solche Ausdrücke ist doch eine hohe Konvergenzgeschwindigkeit bei kleinem Fehler. Die obigen Codes würden sehr schnell alles tod machen, sind also extrem schlecht gelöst.

Nicht umsonst ist die Gamma Funktion in Physik und Mathematik, als auch aus ihr ableitbare rekursive Ausdrücke wie Stirlings Formel etc. so wichtig. ;)

Grüsse

7

Wednesday, September 15th 2010, 11:24pm

Außerdem geht die rekursive Variante ziemlich übel auf die Bretter, wenn n mal kleiner 0 ist =)

8

Wednesday, December 7th 2011, 4:26pm

Wem das zuviel Rekursion ist, der findet unter http://www.luschny.de/math/factorial/jav…Split.java.html eine effizientere Lösung....

9

Thursday, December 8th 2011, 2:10pm

Finde es schöner und dynamischer mit einem eingebauten Leser.


public class ForFakultaet
{
public static void main (String[]args)
{
System.out.println("bitte Zahl eingeben:");
Leser fakultaetLeser=new Leser();
int eingabeZahl=fakultaetLeser.readInt();
int zahl=1;
for(int i=1;i<=eingabeZahl;i++){
zahl=zahl*i;
}
System.out.println(zahl);
}
}

Ist bis Fakultät 16 geeignet.

10

Thursday, December 8th 2011, 3:24pm

Wer ist denn Leser?
Was macht der Leser?

11

Thursday, December 8th 2011, 6:37pm

Bestimmt irgend son BlueJ-Ding

Social bookmarks