maildemon Ierakstīts Augusts 25, 2006 Share Ierakstīts Augusts 25, 2006 function randcipars() { srand((double)microtime()*1000000); $random=rand(1,25); return $random; } Kaa uztaisiit lai nummuri neatkaartojas? Link to comment Share on other sites More sharing options...
zeds Augusts 25, 2006 Share Augusts 25, 2006 function randcipars() { srand((double)microtime()*1000000); $random=rand(1,25); return $random; } Kaa uztaisiit lai nummuri neatkaartojas? turēt masīvu kurā viens bits atbilst vienam skaitlim , ja uzkrīt esošais, ģenerēt no jauna. Tev tur ir miljons minēts - tas nozīmē ka vajadzēs 125000 elementu masīvu. Citāda ceļa kā garantēt neuzkrišanu nav, bet varbūt var kā citādi izlāpīties. Link to comment Share on other sites More sharing options...
maildemon Augusts 25, 2006 Author Share Augusts 25, 2006 Tas ir kā neatkārtojas? Katram no 25 skaitļiem ir varbūtība 1/25, ka arī nākošreiz tāds uzkritīs... Ja Tev vajag skaitļus no 1 līdz 25 izdrukāt rindiņā tā, lai neatkārtojas, tad nāksies vien jau uzģenerētos skaitļus glabāt kādā datu struktūrā... Piemēram, masīvā. es gan ieteiktu nevis ģenerēt no jauna, bet ņemt nākošo pēc moduļa 24 (pāriet no kopas [0..24] uz [1..25] cerams, ka nesagādā problēmas) Nu re, tad rodas jautajums, kaa uztaisiit taadu kopu, ja piemeram ir uzkritis cipars 16, tad man vajag visus no 1 - 15 un no 17 - 25. kaa tad pateikt tam random generatoram, ka cipars 16 nav jaiekljauj? Link to comment Share on other sites More sharing options...
ventolin Augusts 25, 2006 Share Augusts 25, 2006 $aChupa = range(1,25); shuffle($aChupa); while (count($aChupa) != 0) print('array_pop($aChupa).'<br/>'); Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!