Anasayfa

C ve Sistem Programcıları Derneği

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

menü

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

e-posta ile bilgilendirme.

Derneğimizdeki etkinliklerden haberdar olun!

Haber mektubu üyeliğiniz

Kimler çevrimiçi

Şu an 0 kullanıcı ve 11 ziyaretçi çevrimiçi.
""
dreamhost
Anasayfa

60 Taş Oyununda Kazanma Olasılığı (Programlamaya Giriş)

25.03.2010 - 13:35 tarihinde vefa gönderdi

Bu oyun tombalada oynanan oyunlardan biridir. Oyun şöyledir: oyuncu önce içinde 1 ile 90 arasında 90 taşın bulunduğu torbadan 60 taş çeker. Sonra da tombalacıdan üzerinde 5 farklı sayı bulunan kartlardan bir tane çeker. Eğer 60 sayı içerisinde karttaki 5 sayıyı bulursa kazanır, yoksa kaybeder.

Program rasgele sayı üreterek bu oyunu 100000 defa oynuyor ve kazanma olasılığı hesaplanıyor.

Örnek ekran çıktısı: 

Kazanma olasiligi = 0.12384

Kaynak kod: 
class Chip60 {
   public static void main(String args[]) throws Exception
   {
      java.util.Random generator =
            new java.util.Random(System.currentTimeMillis());
      int sixty[] = new int[91];
      int five[] = new int[5];
      int i, j, sizes, sizef, count, num, flag, sum;
      double ratio, win, total;
 
      sizes = 91;
      sizef = 5;
      win = 0;
      total = 100000;
 
      for (i = 1; i <= total; i = i + 1) {
         for (j = 0; j < sizes; j = j + 1)
            sixty[j] = 0;
 
         //60 farkli sayi olusturuluyor
         count = 0;
         while (count != 60) {
            num = generator.nextInt(90) + 1;
            if (sixty[num] == 0) {
               sixty[num] = 1;
               count = count + 1;  
            }         
         }
 
         //5 farkli sayi olusturuluyor ve 60
         //tasin icinde olup olmadigina bakiliyor
         sum = 0;
         count = 0;
         while (count != sizef) {
            num = generator.nextInt(90) + 1;
            flag = 0;
            for (j = 0; j < count; j = j + 1)
               if (num == five[j])
                  flag = 1;
            if (flag == 0) {
               five[count] = num;
               count = count + 1;
               sum = sum + sixty[num];
            }
         }      
         if (sum == 5)
            win = win + 1;
      }
      ratio = win / total;
      System.out.println("Kazanma olasiligi = " + ratio);
   }
}
  • Yazıcı uyumluYazıcı uyumlu
  • Arkadaşa gönderArkadaşa gönder
  • PDFPDF
Etiketler:
  • Java
  • programlamaya giriş
  • rasgele sayılar

Adres: 2.Taşocağı Cd. Oğuz Sk. Barbaros Apt. No: 11/2 PK: 34387  Mecidiyeköy / İSTANBUL
Tel: 0 533 527 43 38 & 0 542 222 07 93 & (212) 274 63 60 & (212) 274 99 89 & (212) 288 35 20
E-Posta: csystem@csystem.org

İçerik yayınları
Fervens Drupal theme by Leow Kah Thong. Designed by Design Disease and brought to you by Smashing Magazine.