Seite 1 von 1

Combin

Verfasst: 26.02.2006 19:09
von WeEf
Hallo,

in GFA-Basic kann man z. B.

X=Combin(49, 6)

verwenden und erhält das Ergebnis 13983816.
Gibt es das auch in PureBasic?
Wie lautet der entsprechende Befehl?

Verfasst: 26.02.2006 19:29
von Macros
Erklär mal, was der Befehl genau errechnet.

Verfasst: 26.02.2006 19:44
von ts-soft
Ist doch ganz einfach:
Combin(n, k) Kombinationen, berechnet n! / k! / (n-k)! (n, k = iexp)
:freak:

Verfasst: 26.02.2006 19:48
von Macros
Ich bin Schüler, und wir hazzen sowas in der Richtung noch nicht,
also verzeih mir nochmal mein Unwissen.


@WeEf:Einen entsprechenden Befehl gibts in Purebasic nicht
(höchstens in einer Lib) Aber du kannst dir ja eine Procedur schreiben.

Verfasst: 26.02.2006 20:01
von ts-soft
Macros hat geschrieben:Ich bin Schüler, und wir hazzen sowas in der Richtung noch nicht,
also verzeih mir nochmal mein Unwissen.
Ich hab Schule und Ausbildung schon Jahre hinter mir, ich hatte sowas in der
Richtung auch noch nicht. Es sei Dir verziehen :mrgreen:

Verfasst: 26.02.2006 20:03
von WeEf

Code: Alles auswählen

Hoechstzahl = Val(InputRequester("Eingabe","Bitte Hoechstzahl eingeben:","") )
Reihen=Hoechstzahl*(Hoechstzahl-1)/2*(Hoechstzahl-2)/3*(Hoechstzahl-3)/4*(Hoechstzahl-4)/5*(Hoechstzahl-5)/6
Debug(Reihen)
Hallo,

ich habe mir bisher wie oben geholfen und gehofft, dass ginge irgendwie einfacher wie z. B. auch in Excel.
Wenn jemand weiß, wie das ohne speziellen Befehl einfacher geht, wäre ich natürlich auch dankbar.
Würde ich im obigen Beispiel, was mir lieber wäre, erst am Ende der Zeile durch 2/3/4/5/6 teilen, müßte ich Reihen.f nehmen, weil sonst das Ergebnis falsch ist.

Verfasst: 26.02.2006 20:17
von Macros

Code: Alles auswählen

Hoechstzahl = Val(InputRequester("Eingabe","Bitte Hoechstzahl eingeben:","") )
Reihen=Hoechstzahl*(Hoechstzahl-1)/2*(Hoechstzahl-2)/3*(Hoechstzahl-3)/4*(Hoechstzahl-4)/5*(Hoechstzahl-5)/6
Debug Reihen

Procedure.l wasweissich(zahl.l)
ergebniss.l=zahl
For a=1 To 5
ergebniss=ergebniss*(zahl-a)/(a+1)
Next

ProcedureReturn ergebniss
EndProcedure


Reihen=wasweissich(Hoechstzahl)
Debug Reihen

Verfasst: 26.02.2006 21:46
von WeEf
Hallo Macros,

danke!
Läuft einwandfrei, ist kürzer und sieht besser aus!