Helló!
Csak ötletelek, matematikai alapot gyártson hozzá, aki tud. És bash alatt
próbáltam, nem winowson, de. A hasonlóság, hogy a $RANDOM itt is 0-32767
közti számokat generál.
Generáltam 1000 8 jegyű véletlenszámot, ezek közt 8-10 volt ismétlődés:
for (( c=1; c<=1000; c++)) ; do echo "scale=8; $RANDOM/32767" | bc ; done |
sort -n | uniq -c|sort -n|less
Aztán hasonló módon, de kis átalakítással:
for (( c=1; c<=1000; c++)) ; do echo "scale=8; $RANDOM*$RANDOM/32767/32767"
| bc ; done | sort -n | uniq -c|sort -n|less

Ezek közt nem volt ismétlődő.
Nem lehet valami hasonló megoldással csökkenteni az ismétlődések
lehetőségét?
A https://devblogs.microsoft.com/oldnewthing/20100617-00/?p=13673 címen
írják:
"It turns out that the Windows command processor uses


the standard naïve algorithm for seeding the random number generator
<http://taeb-nethack.blogspot.com/2009/03/predicting-and-controlling-nethacks.html>
:

   srand((unsigned)time(NULL));

Since time has a resolution of one second,
two command prompts launched in rapid succession have a good
chance of seeding the random number generator with the same
timestamp, which means that they will have the same random number
stream."

Esetleg a mappa nevéhez szükséges véletlenszám generálása előtt véletlen
számú üres ciklust lefuttatni?


Takacs Tibor <taka...@ntszki.hu> ezt írta (időpont: 2019. ápr. 1., H, 7:37):

> Sziasztok!
> A dolgozatírásokhoz készítettem egy login scriptet, ami mindenkinek
> létrehoz egy könyvtárat
> gépnév-8jegyű véletlenszám néven. A lelke ennyi:
> set /A RAND1=%RANDOM%%%9000+1000
> set /A RAND2=%RANDOM%%%9000+1000
> set RDIR=%COMPUTERNAME%-%RAND1%%RAND2%
> mkdir %RDIR%
>
> Kipróbáltam a múlt héten egy gépterem minden gépén, teljesen jó volt,
> hátradőltem. Ma
> megdöbbenve vettem észre, hogy 2 géppár is ugyanazt a 8 jegyű kódot
> generálta magának,
> tehát az alábbi könyvtárak jöttek létre:
> GEP01-54129835
> GEP05-54129835
> GEP12-28474931
> GEP17-28474931
>
> A múlt heti próbálhoz képest most annyi változott, hogy a diákok
> "egyszerre" léptek be.
> Ennyire vacak lenne a "DOS"-os véletlenszámgenerátor? Mi okozhatja ezt? A
> neten nem
> találtam semmi infót, hogyan lehetne javítani. (Anno BASIC-ban volt olyan,
> hogy csak akkor
> működött az RND, ha előtte meghívtad a RANDOMIZE-t, valami ilyesmire
> gondoltam itt is,
> de nyomát se találtam...)
> Bár azon gondolkodom, lehet, egyszerűbb írni rá egy programot...
>
> Köszi, üdv:
>                     TT
>
>
>
> _______________________________________________
> Techinfo mailing list
> Techinfo@lista.sulinet.hu
> Fel- és leiratkozás:
> http://lista.sulinet.hu/cgi-bin/mailman/listinfo/techinfo
> Illemtan: http://www.szag.hu/illemtan.html
> Ügyfélszolgálat FAQ: http://sulinet.niif.hu/
>


-- 
--
------------------------------------------
                              Baján Ferenc
_______________________________________________
Techinfo mailing list
Techinfo@lista.sulinet.hu
Fel- és leiratkozás: http://lista.sulinet.hu/cgi-bin/mailman/listinfo/techinfo
Illemtan: http://www.szag.hu/illemtan.html
Ügyfélszolgálat FAQ: http://sulinet.niif.hu/

válasz