suma szeregu liczb losowych

Odpowiedz Nowy wątek
2018-07-05 19:00
wil
0

Proste zadanie:

dana jest liczba n, np. n = milion, i teraz tworzymy taką zabawną sumę liczb losowych:

i1 = random(n); // losowa od 0 do n-1
następnie:
i2 = random(i1);
i dalej:
i3 = random(i2);
itd.
finalnie dojdziemy do: i_k = 0.

Należy obliczyć sumę (statystyczną):
s = i1 + i2 + i3 + ... = ?

edytowany 1x, ostatnio: wil, 2018-07-05 19:00

Pozostało 580 znaków

2018-07-07 23:07
wil
0

suma = 1.

BTW.
jest to bardzo pozytywny wynik w kontekście problemu kolizji milionów kul:
złożoność prostego algorytmu, z listą minimalnych czasów kolizji, jest liniowa a nie nlogn!

edytowany 1x, ostatnio: wil, 2018-07-07 23:34
Mi się wydaje, że NaN - konfident 2018-07-07 23:09

Pozostało 580 znaków

2018-07-16 09:58
0

Hej,
w testach wychodzi statystycznie 1... ale może pominąłem jakiś warunek... odpal może poniższy kod (lub równoważnik w innym języku):

import random

z = 0
w = 1
a = []
for j in range(10000):
z = 0
w = 1
for i in range(1000):
w = w*random.random()
z += w
a.append(z)
print(sum(a)/10000)

PS. jak zachować wcięcia ? jest jakaś sztuczka techniczna, aby to zrobić wpisując tutaj kod ?? :)

edytowany 1x, ostatnio: hurgadion, 2018-07-16 09:59

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0