?
vardır Bilgisayarlar rastgele sayı üretebilirsiniz iki yolu vardır:
Bir tamamen rastgele doğal olayı izler ve bilgisayar sonuçlarını gönderir cihazın çeşit oluşturabilirsiniz. Örneğin, bir Geiger sayacı önünde radyoaktif madde bir parça koyabilirsiniz ve bir bilgisayara Geiger sayacı bağlayın. Radyoaktif bozunma rastgele olduğundan, Geiger sayacı gerçekten rastgele sayılar yaratacak. Birçok kişi kendi makinelerine bağlı Geiger sayaçları var, çünkü bu yaklaşım, oldukça nadirdir. Bir yalancı rasgele bir sayı oluşturur, bir formül oluşturabilir. Formülü tasarlarken bu formül ne olduğunu bilmiyordum herkese rastgele olmazdı sayılar bir dizi üretmek için, fikirdir. İyi bir formülün özellikleri şunlardır:
İşte basit bir rastgele sayı formülünün bir örnek. Kitap " C Programlama Dili, " Kernighan ve Ritchie:
int rand () {random_seed = random_seed * 1103515245 12345; Dönüş (unsigned int) (random_seed /65536)% 32.768; }Bu formül, başlangıçta bazı sayıya ayarlanmış random_seed adında bir değişkenin, varlığını varsayar. Random_seed değişken 1,103,515,245 ile çarpılır ve sonra 12,345 ürüne ilave alır; random_seed sonra bu yeni değeri ile değiştirilir. Bu aslında oldukça iyi bir sözde rasgele sayı üreteci olduğunu. İyi bir dağılıma sahiptir ve non-yinelenen olduğunu. Eğer 0 ile 9 arasında rastgele sayılar üretmek için kullanırsanız, burada tohum 10 ise ürettiği ilk 20 değerler şunlardır:
44607423505664567674Eğer 0 ile 9 arasında 10.000 değerler üretmesi varsa, Burada dağılımı var:
0-10151 - 10242-9885 - - 9964-10483 10016-9967 - 10068 - 9659-961Herhangi bir rasgele sayı formülü dizisi başlatmak için tohum değerine bağlıdır. Aynı tohum başlarsanız, formül değerleri aynı sıra alırsınız. Böylece tek bir bilgisayar üzerinde 10 tohum yukarıda gösterilen rand () işlevini vermek ve ürettiği sayıların akışında bakarsanız, bu 10 bir tohum ile çalışır herh
Page [1] [2]