Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem generator nahodnych cisel

ahoj, potrebuji poradit s ukolem do skoly...tyden se snazim a stale nevim co s tym :(..nikdo mi neumi pomoct, proto pisu vam....zadani ukolu zni nasledovne: overte kvalitu generatoru nahodnych cisel - generujte uzivatelom zadany pocet (10 000 - 10 000 000, vzdy ale v nasobkoch 1000) nahodnych cisel od 0 do 999, vysledky zobrazte do textarea a statisticky je zhodnodte - urcite maximni a minimalny pocet vyskytov a vypocitajte priemernu odchylku od teoreticke ocakavane hodnoty....vim, ze musim udelat pole a pak z nej vybrat minimum, maximum, atd..ale ja ani nevim jak to pole udelam!! :((((( prosim o pomoc surne. budu vam moc, moc vdecna za rady, vopred dekuji :)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Pole udeláš takto: var pole = new Array; Histogram pre vygenerované čísla spravíš takto: var hist… poslední
los 11.06.2013 23:30
los

Pole udeláš takto:

var pole = new Array;

Histogram pre vygenerované čísla spravíš takto:

var histogram = Array.apply(null, new Array(1000)).map(Number.prototype.valueOf, 0);

for (var i = 0, l = histogram.length, n = zadanyPocet * l; i < n; ++i)
  ++histogram[0|Math.random() * l];

Minimálny počet výskytov:

var minPocetVyskytov = Math.min.apply(null, histogram);

Maximálny počet výskytov:

var maxPocetVyskytov = Math.max.apply(null, histogram);

Teoretická očakávaná hodnota je ten počet zadaný používateľom, pretože rozdelenie ideálnej náhodnej funkcie by malo byť rovnomerné. Priemerná odchýlka je aritmetický priemer odchýlok jednotlivých hodnôt. Takže takto:

[0].concat(histogram).reduce(function(a, b) { return a + Math.abs(b - zadanyPocet); }) / histogram.length;

Som zvedavý, čo ti na to povie učiteľ. :-)

Zpět do poradny Odpovědět na původní otázku Nahoru