Görev bir yazmak için bir program veya bir fonksiyonu olduğu çıkışları n
sabit toplamı [0,1] aralığı rasgele sayı s
.
Giriş
n, n≥1
, üretmek için rasgele sayıların sayısı
s, s>=0, s<=n
, üretilecek sayıların toplamı
Çıktı
[0,1] aralığındakin
tüm öğelerle birlikte kayan nokta sayılarının rasgele bir dizisi ve eşit olan tüm öğelerin toplamı, uygun olmayan herhangi bir şekilde çıkar. Tüm geçerli -tüpeler, kayan nokta sayısının sınırlamaları dahilinde eşit derecede muhtemel olmalıdır.s
n
Bu, n
boyutsal birim küp içindeki noktaların ve n-1
içinden geçen (s/n, s/n, …, s/n)
ve vektöre dik olan boyutsal hiper düzlemin kesişiminden eşit şekilde örneklemeye eşittir (1, 1, …, 1)
(üç örnek için Şekil 1'deki kırmızı alana bakın).
Şekil 1: N = 3 olan geçerli çıktı düzlemi ve toplamı 0,75, 1,75 ve 2,75
Örnekler
n=1, s=0.8 → [0.8]
n=3, s=3.0 → [1.0, 1.0, 1.0]
n=2, s=0.0 → [0.0, 0.0]
n=4, s=2.0 → [0.2509075946818119, 0.14887693388076845, 0.9449661625992032, 0.6552493088382167]
n=10, s=9.999999999999 → [0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999,0.9999999999999]
kurallar
- Programınız, makinenizde en az
n≤10
bir kez geçerli bir s ile bitmelidir. - Arzu ederseniz, programınız üst uçta münhasır olabilir, yani
s<n
yarı açık aralıktan çıkış numaraları [0,1) (ikinci örneği kırarak) - Diliniz kayan nokta sayılarını desteklemiyorsa, çıkıĢı ondalık noktadan sonra en az on ondalık basamak ile düzenleyebilirsiniz.
- Standart boşluklara izin verilmez ve standart giriş / çıkış yöntemlerine izin verilir.
- Bu kod golf , yani bayt cinsinden ölçülen en kısa giriş kazanır.
This is equal to uniformly sampling from the intersection
- sadece o kesişme köşesinden rastgele seçen bir program görebiliyorum. Bu geçerli olur mu?
s==0 or s==3
. Tüm diğer değerleri s
için düzlem sıfır olmayan bir alana sahiptir ve o düzlemde bir noktaya rastgele seçmelisiniz.
s=2.99999999999, n=3
mu? Diyelim ki, katları arasında rasgele gerçekler üretebilir miyiz 1e-9
?