Çok basit bir şey gibi görünen şeyleri başarmak için bir gün geçirdim. 1,2,3 ve 4 sayılarının tam olarak 12 kez göründüğü 300 'rastgele' dizi oluşturmak zorundayım, ancak aynı sayı asla 'arka arkaya' iki kez kullanılmadı.
En iyi girişimlerim (sanırım):
R örneği olmadan 48 örnek var, rle ile ardışık değerler olup olmadığını test edin, daha sonra sadece ardışık değerler içermeyen dizileri kullanın. Sorun: Bu kriteri karşılayan neredeyse hiç rastgele dizi yok, bu yüzden sonsuza kadar sürüyor.
R'nin ardışık değerleri olmayan diziler oluşturmasını sağlayın (koda bakın).
pop<-rep(1:4,12)
y=c()
while(length(y)!=48)
{
y= c(y,sample(pop,48-length(y),replace=F))
y=y[!c(FALSE, diff(y) == 0)]
}
Sorun: Bu, her değerin değişen sayılarına sahip diziler oluşturur. Daha sonra sadece her bir değerin tam olarak 12'sine sahip olan dizileri kullanmaya çalıştım, ancak bu sadece beni sorun 1'e geri getirdi: sonsuza dek sürüyor.
Bunu yapmanın kolay bir yolu olmalı, değil mi? Herhangi bir yardım büyük beğeni topluyor!