• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

on numara olasılıklarını yazdırma

Katılım
6 Ekim 2010
Mesajlar
49
Excel Vers. ve Dili
2003 tr
herkese iyi forumlar dilerim!
eğer yanlış yere konu açtıysam kusura bakmayın ilk konu açışım.Geçtiğimiz günlerde aşağıdaki kodu buldum yanılmıyosam zeki beyindi makro ile sayısal loto 1-49'un 13 milyon olasılığını yazdırıyor,sizlerden ricam 1-80 arası 10 lu olarak olasılıkları yazdırabilirmiyiz?buda on numara için olucak şimdiden yardımlarınız için çok teşekkür ederim..
Sub Hesapla()
Adet = 49
Kolon = 1
Sıra = 1
Satır = 1
For s1 = 1 To Adet - 5
For s2 = s1 + 1 To Adet - 4
For s3 = s2 + 1 To Adet - 3
For s4 = s3 + 1 To Adet - 2
For s5 = s4 + 1 To Adet - 1
For s6 = s5 + 1 To Adet - 0

Cells(Satır, Kolon).Value = Sıra & "--) " & _
s1 & "-" & s2 & "-" & s3 & "-" & _
s4 & "-" & s5 & "-" & s6
Sıra = Sıra + 1
Satır = Satır + 1
If Satır > 60000 Then
Satır = 1
Kolon = Kolon + 1
End If

Next s6
Next s5
Next s4
Next s3
Next s2
Next s1
Mesaj = "HESAPLAMA İŞLEMİ TAMAMDIR "
End Sub
 
80 rakamlık bir kümeden 10 rakamlık alt küme bulmaya çalıştığımızda 1.646.492.110.120 (1 trilyon 646 milyar...) kombinasyondan bahsediyoruz demektir.

ofis 2013 kullanıyorsunuz. 1 sayfada 16.777.216 adet (65536 satır X 256 sütun) hücre var.

dolayısıyla tüm kombinasyonları yazdırmak için 98.139 sayfaya ihtiyacınız var.

süre, pc kapasitesi vs gibi hususları bir kenara bırakırsak 1,6 trilyon farklı veriyi nasıl incelemeyi ve kullanmayı düşünürsünüz.
 
tabii bu hesaplama 22 sayılı kombinasyon ile yapılıyo sanırım...
 
ben 1 milyon kombinasyon için hesaplattım. 1 dakika sürdü. performans sabit giderse tüm kombinasyonların hesaplanıp yazılması 3 yıldan fazla sürüyor. :)


kullanılmaz ama mecvut bir kodun değişen senaryoya uyarlanmasına örnek olsun.
Kod:
Sub Kombinasyon_Hesapla()

adet = 80
Kolon = 1
Sıra = 1
Satır = 1

t = Timer
For s1 = 1 To adet - 9
    For s2 = s1 + 1 To adet - 8
        For s3 = s2 + 1 To adet - 7
            For s4 = s3 + 1 To adet - 6
                For s5 = s4 + 1 To adet - 5
                    For s6 = s5 + 1 To adet - 4
                        For s7 = s6 + 1 To adet - 3
                            For s8 = s7 + 1 To adet - 2
                                For s9 = s8 + 1 To adet - 1
                                    For s10 = s9 + 1 To adet - 0
                                        If Cells(Satır, Kolon).Address = "$IV$65536" Then
                                            Worksheets.Add after:=Worksheets(Worksheets.Count)
                                            Kolon = 1
                                            Satır = 1
                                        End If
                                        
                                        Cells(Satır, Kolon).Value = Sıra & "--) " & _
                                        s1 & "-" & s2 & "-" & s3 & "-" & s4 & "-" & s5 & "-" & s6 & "-" & s7 & "-" & s8 & "-" & s9 & "-" & s10
                                        
                                        Sıra = Sıra + 1
                                        Satır = Satır + 1
                                        
                                        If Satır > Rows.Count Then
                                            Satır = 1
                                            Kolon = Kolon + 1
                                        End If
                                    Next s10
                                Next s9
                            Next s8
                        Next s7
                    Next s6
                Next s5
            Next s4
        Next s3
    Next s2
Next s1

End Sub
 
şimdi 80 rakamdan 10 sayı olunca doğrudan excel'deki COMBIN fonksiyonu ile hesaplattım. oyununun nasıl oynandığını bilmiyordum açıkçası.

burada şöyle bir durum varmış.

80 toptan 22 adet top çekiyorlarmış. bunun içinden herhangi bir 10 rakamın tutması ile ikramiye kazanılıyormuş.

fakat sitede bunu yanlış izah etmişler. kombinasyon sayısı 2546203'e inmiyor.

tek kolon oynayarak kazanma ihtimali (1/1,6 trilyon)dan (1/2,5 milyon)a yükseliyor. yani yine çok çok düşük.

makineye oynatın gitsin. hepsinin şansı eşit. :)
 
:) yinede vakit ayırıp açıklama yaptığın için çok teşekkür ederim.
 
yanlış yorumluyorsun.

80 rakamdan 10arlı gruplar oluşturmak istendiğinde 1.646.492.110.120 farklı seçenek var. sağından da baksan aynı, solundan da baksan aynı. dolayısı ile oyunda sadece 10 top seçilse idi doğru tahmin etme olasılığı 1/1.646.492.110.120 olacak idi.

halbuki 80 farklı rakamdan tesadüfen seçilen 22 adedinden 10 tanesini doğru tahmin etme olasılığı
1/2.546.203 olarak hesaplanmış. yani 2,5 milyonda 1. bu kombinasyon işlemi değil. kombinasyon kullanılarak hesaplanan olasılık sadece.

80 rakamdan 22şerli gruplar oluşturmak istendiğinde:
=KOMBİNASYON(80;22) = 27.088.786.024.742.620.000
27 kentilyon, 88 katrilyon, 786 trilyon, 24 milyar, 742 milyon, 620 bin şeklinde okunuyor

1,5 trilyon 3 sene sürüyorsa 27 kentilyon kaç sene sürer sen hesapla.
ne ömür ne kaynak yeter...
ne de bir işine yarar.
 
iyi akşamlar.elinize, aklınıza sağlık arkadaşlar.sizden ricam, sayfadaki tüm satır ve sütunlar bitince yeni bir sayfa açıp listeleme işlemine oradan devam etmesi. ben biraz uğraştım ancak beceremedim.teşekkür ederim.
 
Sayısal loto kombinasyonlarını daha önce hesaplatmıştım.
İşten çıkarken başlattım. Ertesi gün sabah geldiğimde bitmişti.
Bir gecenizi rahat alacaktır.
 
Hüseyin bey ilginiz için teşekkür ederim. 49/6 yaklaşık 1 saat sürdü. problem şu aslında. sayısal loto 13,5 milyon civarı. excel 2010 her sütun 1 milyon alsa 14 satır yeterli. ancak 10 numara için sayfadaki hücre sayısı (16500*1000000) yeterli gelmiyor. işte bu yüzden sayfa 2'den devam etsin istiyorum. sayfa 3, sayfa 4, ...
 
merhaba

sayısal loto için olasılık hesabını düşürmek için genelde 20 sayıda 6 da 5 garanti sistemler yazılıyor.
benim istediğim 20 ( bu değişebilir ) 10 da 7 veya 10 da 8 garanti sistemler.
bu konuda yardımcı olacaklara şimdiden teşekkür ederim
 
Geri
Üst