Binominalkoeffizient rekursiv berechnen

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo ,

ich habe die Aufgabe, den Binominalkoeffizient rekursiv errechnen zu lassen.
Das habe ich soweit hinbekommen.
Jetzt habe ich festegestellt, dasss in der Aufgabe steht, dass k eine Eigenschaft ist und der Methode berechnungNuberKrekursiv nur den Parameter (int n) übergeben werden darf, und auf k mit this.k zugegriffen werden muss.
Ist es so überhaupt möglich, den Binominalkoeffizient rekurzsiv zu errechnen?


Danke


Gruß

Alaska


Code:
public double berechnungNueberKrekursiv(int n, int k) {

		if (k <= 0 || k >= n) {
			return 1;
		} else {
			return berechnungNueberKrekursiv(n - 1, k - 1) + berechnungNueberKrekursiv(n - 1, k);
		}
	}
 
Der Binomialkoeffizient nwird ja ueber die Fakultaet berechnet

n! / k! * (n - k) !

die Fakultaet kannst du ja rekursiv berechnen....
 
Also deine Aufgabe versteh ich nicht wie ieht den das Objekt aus, indem k ein Parameter ist? Für mich sind das beides Übergabe Parameter. Wenn überhaupt könnte ich mir je nach statistischem Anwendungsfall n als membervariable eines Objekts vorstellen, aber kein K fällt mir nichts ein wo das sinnvoll wäre ?!?
 
Ich schicke das jetzt einfach so weg, wie ich das oben im Quellcode habe. Wenn ich eien Musterlösung bekomme, dann werde ich sie mal hier reinposten, damit ihr auch sehen könnt, was ich gemeint habe. Ist halt alles Schwer zu erklären.

Gruß
 
also ich würde vermuten, dass da irgendwo eine vorgegebene Klasse existiert, in der das "k" als member festgelegt ist. Die Methode zur Berechnung bekommt dann nur noch das "n" als Parameter übergeben.
 
ich stelle mir das in etwa so vor
Code:
public class BKoeff{
  private int k;
  public BKoeff(int k){
    this.k=k;
  }

  public berechneNueberK(int n){
  if(k==0||k==n){
    return 1;
  }else{
    return (n / k) * new BKoeff(k-1).berechneNueberK(n-1);
  }
  }
}
 
Es könnte auch Zufall sein das wir es gerade in unserem Kurs an der Universität Hagen als Einsendeaufgabe haben.

Und er ja meinte er schicke jenes so weg.

Pfffft, ... hoffetnlich muss er anderes in der Prüfung rekursiv berechnen 😉 Denn ich glaube nciht das er es verstanden hat.
 
@Gast:
da jedesmal eine neue Instanz zu erzeugen ist meiner Ansicht nach nicht sinnig... ich wuerde das ala Math eine statische Methode haben die beide zahlen als Parameter erhält !
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben