Birim n-boyutlu hiperküpte iki noktanın ortalama mesafesi


13

Birim n-boyutlu hiper küpü anlamanın kolay bir yolu, her koordinat bileşeni [0, 1] 'de bulunuyorsa alabileceğiniz n boyutlarındaki boşluk bölgesini düşünmektir. Yani bir boyut için 0 ila 1 arasındaki çizgi segmenti, iki boyut için köşeleri (0, 0) ve (1, 1) vb.

N verilen bir program ya da fonksiyon yazın , ünite n-boyutlu hiperküpten seçilen muntazam rastgele iki noktanın ortalama Öklid mesafesini döndürür. Yanıtınız gerekir 10 içinde olması -6 gerçek değerin. Cevabınız büyük n için dilinizin yerel kayan nokta türünü aşarsa sorun olmaz.

Rastgele 'büyük' ​​sayıda nokta seçmek ve ortalamayı hesaplamak böyle bir doğruluğu garanti etmez.

Örnekler:

1 → 0.3333333333 ...
2 → 0.5214054331 ...
3 → 0.6617071822 ...
4 → 0.7776656535 ...
5 → 0.8785309152 ...
6 → 0.9689420830 ...
7 → 1.0515838734 ...
8 → 1.1281653402 ...

MathWorld'den edinilen veriler .

Bu , en düşük bayt sayısı kazanır.


Bir düzenlemede kazanan kriter yinelendi.
Sihirli Ahtapot Urn

Açık olmak gerekirse : mesafe Öklid mesafesini ifade eder, değil mi?
Dennis

3
@carusocomputing Bunu sizin için çözmemi istiyorsanız zorluğun anlamı nedir?
orlp

4
@orlp itirazımı birisi matematik öğrenene kadar bir matematik bulmacası meydan okumaya kaydettirir, o zaman herkes formülü farklı dillerde kopyaladığında bir programlama bulmacası haline gelir. Bu konuda meta bir soru sormam gerekiyor.
Sparr

1
5 basamak doğruluk derken, 1e-5 içinde mi demek istersiniz, yoksa çıkışın 1.499999999999999 olması gerektiğinde 1.500000000000001 tahmini yanlış olur mu?
xnor

Yanıtlar:


5

Mathematica, 68 bayt

NIntegrate[(1-((E^-u^2+u*Erf@u√π-1)/u^2)^#)/u^2,{u,0,∞}]/√π&

Değerine NIntegrateyaklaşık olarak ulaşmak için formülün uygulanması .

görüntü


Beni 58 saniyede dövdü :(
JungHwan Min

Formülü nerede buldun?
feersum

@feersum Hypercube Çizgi Toplama'dan formül (8) . (10) bir yazım hatasıdır ve çift katlı integrale veya du'ya sahip olmamalıdır.
mil

Bunu gerçekten metin u√πolarak girerseniz, bir jeton olarak ayrıştırılır , bu nedenle uve arasında bir boşluk gerekir .
feersum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.