PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche mathematische Funktion präsentiert diese Funktion?


Grivel
2012-07-05, 12:13:18
Hi!

Ich habe hier eine Funktion deren mathematische Funktion gefragt ist:
foo wird mit foo (5,2) aufgerufen.

int foo(int a, int b)
{
int c,d,e;
c=d=e=1;

for ( int i=0; i<a;i++)
c*=i+1;


for(int i =b; i>0;i--)
d*=i;


for(int i =1; i<=(a-b);i++)
e*=i;

return (c/d/e);
}


als Ergebniss bekomme ich 10. Setze ich jetzt 6,2 erhalte ich 15. setze ich 3,3 erhalte ich 1. Was für ne mathematische Funktion soll das bitte sein? Stehe irgendwie auf dem Schlauch.:rolleyes:


Gruss und Danke

Gast_samm
2012-07-05, 12:23:46
Binominalkoeffizient (http://de.wikipedia.org/wiki/Binomialkoeffizient) heisst das offenbar - konnte mich nur noch an "über" resp. "tief" erinnern (wegen der Darstellung Klammer - Zahl über Zahl - Klammer )^^

pest
2012-07-05, 18:08:58
Anzahl der b-elementigen Teilmengen einer a-elementigen Menge

DocEW
2012-07-05, 22:55:06
Noch ein Hinweis, falls der Code zu mehr als Übungszwecken dient: Die Werte für c, d und e werden sehr schnell viel zu groß. Nimm lieber die Formel, die du auf der Wikipedia-Seite unter "Definition" als erstes findest und multipliziere möglicherweise noch geschickt, z.B. n/k * (n-1)/(k-1) * ... oder so.

Grivel
2012-07-07, 13:24:55
Danke für die Hilfe.

der Code stammt aus einer Klausur und bestand aus zwei Teilfragen:
a) welche math. Fkt. ist es?
b) Rekursive Implementation, da ich nicht a) wusste konnte ich b auch nicht machen :rolleyes: