Suomalaisen Loton 7/39 todennäköisyydet.
Tulostaa tämän:
Loton 7/39 voittotodennäköisyydet
0.........2,19E-01
1.........4,12E-01
2.........2,75E-01
3.........8,18E-02
4.........1,13E-02
5.........6,77E-04
6.........1,32E-05
6 + 1.....1,37E-06
7.........6,50E-08
Form 1 = button1 + textbox1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'Suomalaisen Loton todennäköisyydet ' Tulokset voi tarkistaa: http://www.veikkaus.fi/lotto/todennakoisyys.html Dim N As Integer = 39 Dim K As Integer = 7 Dim L As Integer = 3 ' lisänumeroita Dim i As Integer Dim TodNäk() As Double = Lotto(N, K, L) TextBox1.Text = "Loton 7/39 voittotodennäköisyydet" & vbNewLine For i = 0 To K If i = K Then TextBox1.AppendText("6 + 1" & vbTab & Format(CStr(TodNäk(K + 1)), "Scientific") & vbNewLine) TextBox1.AppendText(i & vbTab & Format(CStr(TodNäk(i)), "Scientific") & vbNewLine) Next End Sub '******************************** 'Funktio: Lottotodennäköisyydet '******************************** Public Shared Function Lotto(ByVal N As Integer, ByVal K As Integer, ByVal L As Integer) As Double() ' N= 39, K=7, L=3 Dim voitto As Integer Dim YhdenRivinTodennäköisyys As Double Dim VoittaviaYhdistelmiä As Double Dim HäviäviäYhdistelmiä As Double Dim LisänumeroYhdistelmiä As Double Dim TodNäk(K + 1) As Double Dim sum As Double YhdenRivinTodennäköisyys = 1 / Kombinaatio(N, K) For voitto = K To 0 Step -1 VoittaviaYhdistelmiä = Kombinaatio(K, voitto) HäviäviäYhdistelmiä = Kombinaatio(N - K, K - voitto) If voitto = 6 Then '6 + 1 LisänumeroYhdistelmiä = VoittaviaYhdistelmiä * Kombinaatio(3, K - voitto) TodNäk(K + 1) = YhdenRivinTodennäköisyys * LisänumeroYhdistelmiä Else LisänumeroYhdistelmiä = 0 End If TodNäk(voitto) = YhdenRivinTodennäköisyys * (VoittaviaYhdistelmiä * HäviäviäYhdistelmiä - LisänumeroYhdistelmiä) sum = sum + TodNäk(voitto) Next sum = sum + TodNäk(K + 1) 'tarkistussumma = 1.0 Return TodNäk End Function '********************** ' Funktio: Kombinaatio '********************** Public Shared Function Kombinaatio(ByVal JoukonKoko As Long, ByVal OtosKoko As Long) As Long '"Kuinka monella tavalla Joukosta voi valita Otoskoon mukaisen määrän, 'kun otoksen erilaiset keskinäiset järjestykset eivät tee uusia yhdistelmiä. 'Ei takaisinpanoa." Dim i As Long Dim n As Long = 1 Dim m As Long = Permutaatio(JoukonKoko, OtosKoko) For i = 1 To OtosKoko n = n * i Next Return m \ n End Function '******************** 'Funktio: Permutaatio '******************** Public Shared Function Permutaatio(ByVal JoukonKoko As Long, ByVal OtosKoko As Long) As Long '"Kuinka monella tavalla Joukosta voidaan valita otoskoon mukainen määrä, 'kun ei tehdä takaisinpanoa ja 'otoksen keskinäinen järjestys tekee uusia yhdistelmiä" Dim i As Long Dim n As Long = 1 For i = JoukonKoko To JoukonKoko - OtosKoko + 1 Step -1 n = n * i Next Return n End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.Multiline = True TextBox1.ScrollBars = ScrollBars.Vertical TextBox1.Height = 200 TextBox1.Width = 300 End Sub
Hmm,hyvä tämä tulee tarpeseen jos oisi vain pekkä visualbacik
samoin
Aihe on jo aika vanha, joten et voi enää vastata siihen.