Hi
ich bin gerade dabei eine möglichst gute n über k funktion zu schreiben
Dies funktionoiert nur beil kleine zHalen warum?
Mein Problem ist die Zeit vorher hatte ich das ganze iteratif gelöst nur ab einenm n von 30 rechnet sich ein Taschenrehcner Tod, da die Zeit exponetiell wächst -.-
Für alle die es nicht wissen n über k =
n! / k! * (n-k)!
so nun habe ich mir gedachte
Beispiel: nubk(30, 5) = 430!/(5!*(30-5)!) = (30*29*28...) / (1*2*3*4*5) = 30 / 1 * 29 / 2 * 28 / 3 ... / 5
Was ist an meiner Überlegung oder dem Code falsch?
bitte um Hilfe bei einem kleinen n kommt auch das richtige raus.
ich bin gerade dabei eine möglichst gute n über k funktion zu schreiben
Code:
int nubk (int n, int k) {
int i, erg=1;
if((k==0)&&(n>=0))
return 1;
else if((k>=1)&&(k<=n)){
for(i=1;i<=k;i++)
erg*=(n-i+1)/i;
//printf("%d \n",koeff);
return erg;
};
return 0;
}
Dies funktionoiert nur beil kleine zHalen warum?
Mein Problem ist die Zeit vorher hatte ich das ganze iteratif gelöst nur ab einenm n von 30 rechnet sich ein Taschenrehcner Tod, da die Zeit exponetiell wächst -.-
Für alle die es nicht wissen n über k =
n! / k! * (n-k)!
so nun habe ich mir gedachte
Beispiel: nubk(30, 5) = 430!/(5!*(30-5)!) = (30*29*28...) / (1*2*3*4*5) = 30 / 1 * 29 / 2 * 28 / 3 ... / 5
Was ist an meiner Überlegung oder dem Code falsch?
bitte um Hilfe bei einem kleinen n kommt auch das richtige raus.