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?
Combin
Combin
PureBasic 4.31
Windows 7
Gruß WeEf
Es ist noch kein Meister vom Himmel gefallen - vielleicht sind auch gar keine oben
Windows 7
Gruß WeEf
Es ist noch kein Meister vom Himmel gefallen - vielleicht sind auch gar keine oben
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Ist doch ganz einfach:

Combin(n, k) Kombinationen, berechnet n! / k! / (n-k)! (n, k = iexp)

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Ich hab Schule und Ausbildung schon Jahre hinter mir, ich hatte sowas in derMacros hat geschrieben:Ich bin Schüler, und wir hazzen sowas in der Richtung noch nicht,
also verzeih mir nochmal mein Unwissen.
Richtung auch noch nicht. Es sei Dir verziehen

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

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)
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.
PureBasic 4.31
Windows 7
Gruß WeEf
Es ist noch kein Meister vom Himmel gefallen - vielleicht sind auch gar keine oben
Windows 7
Gruß WeEf
Es ist noch kein Meister vom Himmel gefallen - vielleicht sind auch gar keine oben
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