Delphi-PRAXiS
Seite 3 von 7     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   n über k - berechnen!? (https://www.delphipraxis.net/38262-n-ueber-k-berechnen.html)

Wolfgang Mix 14. Jan 2010 16:20

Re: n über k - berechnen!?
 
@jfheins Danke, da war mein Knick in der Denke,
war schon zu lange her, daß ich das 'mal brauchte.
Der Code ist also okay :)

@patti: hat sich geklärt, danke

Gruß

Wolfgang

Uwe Raabe 14. Jan 2010 16:22

Re: n über k - berechnen!?
 
Zitat:

Zitat von Wolfgang Mix
Die Wahrscheinlichkeit für 6 Richtige (ohne Superzahl) ist 6 über 49 = 1/13983816

jfheins hat Recht: 6 über 49 ist nicht definiert, da bei (n über k) k <= n sein muss. Das ergibt sich allein dadurch, daß n! für negative Zahlen nicht definiert ist.

Übrigens gibt (49 über 6) nicht die Wahrscheinlichkeit eines Gewinns mit 6 Richtigen an, sondern die Anzahl der Kombinationen die man in 6 aus 49 bilden kann. Eine dieser Kombinationen ist dann der Gewinn. Deshalb ist die Wahrscheinlichkeit 1/(49 über 6). Wenn du also (49 über 6) unterschiedliche Tips abgibst, ist sicher ein 6er dabei.

patti 14. Jan 2010 16:24

Re: n über k - berechnen!?
 
Zitat:

Zitat von Uwe Raabe
Übrigens gibt (49 über 6) nicht die Wahrscheinlichkeit eines Gewinns mit 6 Richtigen an, sondern die Anzahl der Kombinationen die man in 6 aus 49 bilden kann. Eine dieser Kombinationen ist dann der Gewinn. Deshalb ist die Wahrscheinlichkeit 1/(49 über 6)

Dies wiederum folgt direkt aus der Formel zur Berechnung einer Laplace-Wahrscheinlichkeit:

Code:
Wahrscheinlichkeit = (Anzahl der günstigen Fälle) / (Anzahl der möglichen Fälle)
da alle Kombinationen gleich wahrscheinlich sind. Weil es nur einen günstigen Fall gibt, ist die Wahrscheinlichkeit also (49 über 6)^(-1).

mfg

Uwe Raabe 14. Jan 2010 16:31

Re: n über k - berechnen!?
 
Zitat:

Zitat von jfheins
Aber 1/(49 über 6) ist nicht gleich (6 über 49) :!:

Vollkommen richtig!

Wolfgang Mix 15. Jan 2010 16:43

Re: n über k - berechnen!?
 
Habe den Code noch leicht abgeändert.
Die Funktion fakultät bzw nueberk funktioniert bis
n(max) = 1754! = 1,97926189010501E4930.
Das sollte für Experimente reichen.

Delphi-Quellcode:
function fakultaet(N: integer): Extended;
var i: Integer;
begin
  Result := 1;
  for i := 1 to N do
    Result := Result * i
end;

function nueberk(n, k: integer): Extended;
begin
  Result := fakultaet(n) / (fakultaet(n - k) * fakultaet(k))
end;

procedure TForm4.Button1Click(Sender: TObject);
begin
  Edit1.Text:=FloatToStr(nueberk(1754,600));
  Edit2.Text:=FloatToStr(fakultaet(1754));
  //n!(max) = 1754!=1,97926189010501E4930
end;
Gruß

Wolfgang

stoxx 15. Jan 2010 17:51

Re: n über k - berechnen!?
 
http://www.matheplanet.com/default3....ne%26spell%3D1


oder hier (auf die harte Tour)

http://www.delphi-library.de/topic_B...n_35050,0.html

Wolfgang Mix 15. Jan 2010 18:01

Re: n über k - berechnen!?
 
Danke für die Links,

werde ich mir 'reinziehen.

Soll ich noch etwas ändern oder ist etwas noch faul?

Grüß

Wolfgang

ibp 15. Jan 2010 18:04

Re: n über k - berechnen!?
 
oben habe ich die Möglichkeit zum Kürzen des Bruches beschrieben..

ansonsten wäre das noch möglich:

http://upload.wikimedia.org/math/5/1...5b1b818978.png

siehe hier: Wikipedia Binomialkoeffizient

Corpsman 15. Jan 2010 18:33

Re: n über k - berechnen!?
 
Zu dem thema kann ich auch noch was beisteuern :


Binomial Source

Wolfgang Mix 15. Jan 2010 19:28

Re: n über k - berechnen!?
 
Danke für die Beiträge.
Eine weitere Optimierung bringt ja eigentlich nur etwas,
wenn k in die Größenordnung von n kommt.
Dann dürte man allerdings nicht n! zuerst ausrechnen lassen,
und der Code wird um einiges länger.
Werde mich mit dem Thema weiter befassen.

Gruß

Wolfgang


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:45 Uhr.
Seite 3 von 7     123 45     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz