Ocena użytkownikóww: ***** / 14
Nadesłany przez Tomasz Lubiński, 08 grudnia 2011 16:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
losowanie.js:
//Losowanie bez powtorzen
//(c) 2011 by Tomasz Lubinski
//www.algorytm.org
function losuj(k, n) {
// sprawdz poprawnosc danych wejsciowych
if (k > n) {
alert("Nieprawidłowe dane wejściowe");
}
// wypełnianie tablicy liczbami 1,2...n
var numbers = new Array(n);
for (var i=0; i<n; i++) {
numbers[i] = i + 1;
}
// losowanie k liczb
for (var i=0; i<k; i++) {
// tworzenie losowego indeksu pomiędzy 0 i n - 1
var r = Math.floor(Math.random()*n);
// wybieramy element z losowego miejsca
alert(numbers[r]);
// przeniesienia ostatniego elementu do miejsca z którego wzięliśmy
numbers[r] = numbers[n - 1];
//zmniejszamy n
n--;
}
}