van egy pár módja, hogy menjen ez az egy módja az lenne, hogy egy olyan tömböt a számok 0000000 keresztül 9999999 majd válasszon egy véletlenszerű választás ezeket a számokat a tömbbe és a swap szedett számok értékei a legmagasabb érték Max majd csökkenteni max szerint 1 és válasszon egy másik véletlenszerűen tagja ennek a tömb akár az új maximális
minden egyes alkalommal, csökkentve Max egy
például (az alap): (jobbra megjegyzések amelyeket el kell távolítani az aktuális program) Rndfunc egy hívást, hogy bármilyen véletlenszám-generátor funkció használata
dim array(0 to 9999999) as integer
for x% = 1 to 9999999
array(x%)=x%
next x%
maxPlus = 10000000
max =9999999
pickedrandom =int(Rndfunc*maxPlus) picks a random indext of the array based on
how many numbers are left
maxplus = maxplus-1
swap array(pickedrandom) , array(max) swap this array value to the current end of the
array
max = max -1 decrement the pointer of the max array value so it
points to the next lowest place..
majd tartsa ezt minden kívánt számot felvenni, de akkor meg kell azt a lehetőséget, segítségével nagyon nagy tömbök
A másik módszer a következő lenne: létrehoz egy számot, és tárolja egy tömb, amely dinamikusan növekszik majd azt követően, hogy válasszon egy új számot, és hasonlítsa össze az érték, amely félúton van az elsőtől az utolsó elem a tömbben ebben az esetben ez lenne az első számot választotta, ha megegyezik válasszon másik véletlen szám, rendezni a tömböt, nagyságuk szerint, ha nincs egyezés, akkor az időjárástól függően, hogy nagyobb vagy kisebb, mint a szám, mint magával megy felfelé vagy lefelé a lista fele távolság fele, minden egyes alkalommal, hogy nem felel meg, és kisebb vagy nagyobb, mint amit összevetve a.
minden egyes alkalommal megfelezve, amíg el nem éri a rés mérete az egyik, akkor egyszer ellenőrizze és megáll, mivel nincs meccs, majd a szám felkerül a listára, és a lista újrakevert emelkedő sorrendben, így tovább és így tovább, amíg meg nem kész szedés véletlen számokat ... remélem ez segít ..