Wpis z mikrobloga

Jest ktoś w stanie wytłumaczyć i nakierować? generuje losowe liczby do momentu, aż suma tych liczb będzie > 1 dodając do tego ilość potrzebnych prób. Wynik potrzebnych prób zapisywany jest do tablicy. Potrzebuję policzyć średnią z miliona takich prób - czyli zsumować do siebie wszystkie próby z tablicy i podzielić przez milion. Jestem przekonany, że gdybym zrobił pętle, która ma wypełnić próbami tablicę 1000000 razy to najzwyczajniej w świecie wywali program

function test() {
var sum = 0;
var array = [];

for (var i = 1; ; i++) {
var losowa = Math.random();
// console.log(i + " wylosowana liczba to: " + losowa);
if ((array.indexOf(losowa.toString()) < 1)) {

sum += losowa;
var sum2 = 0;
var array2 = [];
var iloscprob = i;
sum2 += ilosc
prob;

array.push(losowa.toString());
// console.log(" AKTUALNA SUMA: " + sum);
array2.push(ilosc_prob.toString());
avg = sum2 / 1000000; // tutaj powinno policzyc srednie z miliona prob, ale nie liczy
}

if (sum >= 1) break;

}
console.log("Suma wynosi: " + sum + " po " + i + " probach");
console.log("Srednia po wykonaniu miliona razy wynosi: " + avg); // powinna wynosić ~2,7
console.log(array2.length); // tutaj wynik powinien wynosic milion

}

console.log(test());

#programowanie #javascript #it
  • 11
Jeśli każą Ci w zadaniu tworzyć tablicę na milion, to faktycznie nieciekawie, ale z tego co zrozumiałem to masz po prostu policzyć średnią z miliona prób czyli rozwiązać problem, obojętnie jakim sposobem.

Średnią możesz policzyć albo tworząc tablicę [ 2, 3, 4 ] i (czyli suma elementów wynosi 3) na końcu robiąc (2+3+4) / 3, albo

za każdym razem jak otrzymasz kolejną próbę dzielisz ją przez sumę elementów w tablicy która NIE
Stworzyłem pętle, która wypełnia tablice milionem pozycjii - ale na ten moment wypełnia ją pustymi elementami

for (var ileprob = 1; ; ileprob++) {

if (array2.length < 1000000) {
array2.push(ilosc_prob.toString());

}
if (array2.length = 1000000) break;
}
avg = sum2/1000000 ; // tutaj powinno policzyc srednie z miliona prob, ale nie liczy
Też się da, możesz zrobić zewnętrzną pętlę w pętli zamiast 1 000 000 000 to 10000 * 100000 i tak dalej i tak dalej, po prostu będzie wolniej chodzić im więcej iteracji