[JS] Lengte van random getallen generen adhv getal (bijv 3)

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Misschien komt het omdat het laat is, maar ik kan het zo even niet NET verzinnen.

Ik heb een invoer van een bepaald getal, wat voor de lengte van het getal dat gegenereerd moet worden staat, dus als ik 4 binnen krijg, mag het maximale random-getal niet meer dan 9999 zijn, alles daaronder (t/m 1) is ok! als invoer 2 is, alles t/m 99 etc...

Weet iemand hier een formule, functie of handige methode voor :?

  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

Jammer van Java weet ik nog niets.

Maar goed: in Pascal, Basic gebruik je Y=RND (x).
Y is dan een getal tussen 0 en 1 (groter of gelijk aan 0, kleiner dan 1).
Bij een invoer van een getal, is voor jou de formule: Y=RND(Y)*100000,

Het probleem daarbij is echter altijd dat de functie RND() in de Bios/assembler gegenereerd wordt o.b.v. een tabel.

Dus in programma's die bijv. een dobbelsteen imiteren, geeft elke run van at programma dezelfde getallen. Om dit op te lossen gebruikte je de statement RANDOMIZE.

Ik heb ooit 's een programma gezien, dat een quasi toevalsgenerator simuleerde door de functie TIME te gebruiken.

Heb ik je nu op een idee gebracht ?

[ Voor 89% gewijzigd door Brothar op 20-08-2003 23:15 ]

eagle


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Check topictitel (JS staat voor JavaScript)

Verder dan dit kwam ik niet:
Een switch functie schrijven die het getal returned:

case 1
return "getal onder 10 generenen"
case 2
return "getal onder 100 generenen"
case 3
return "getal onder 1000 generenen"

Maar da's niet echt netjes en dynamisch, dus ik zocht een betere oplossing

[ Voor 78% gewijzigd door r0bert op 20-08-2003 23:09 ]


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Humz, ik snap het niet echt wat je bedoelt Brothar..

Met javascript kun je random getallen van 0 tot 1 maken dmv
JavaScript:
1
intRandom = Math.random();
Maar als ik dat vermenigvuldig met weet ik veel hoeveel, dan krijg ik toch niet een getal van bijv 2 cijfers of van 3 aan de hand van de invoer ?

edit:
ow sorry, had beter mijn vorige reply kunnen editten :X


ik had ook nog wel andere methode gehad, maar die vond ik nog ranziger..:

JavaScript:
1
2
3
4
5
6
7
8
9
10
strIntegerstring = '1';

for (0 = integer totdat gelijk is aan opgegeven lengte)
    strIntegerstring += '0';

//geeft getal met gewenste 0en
intGetal = parseInt(strIntegerstring);

// Uitkomst:
intResult = Math.floor(Math.random()*(intGetal-1));

[ Voor 52% gewijzigd door r0bert op 20-08-2003 23:25 ]


  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

Even in "pseudocode":
- krijg de invoer van een cijfer, dat bepaalt hoe groot het getalmoet zijn
- genereer een random getal van 0 tot 1 (ik neem tenminste aan dat intRandom dat doet)
-
for I=1 to cijfer+1;
getal:=getal*10; (het random getal vermenigvuldigen met 10)
Next I; (totdat gevraagde lengte wordt bereikt)
getal =int(getal); (afronden tot een geheel getal, geen decimale breuk)

[ Voor 32% gewijzigd door Brothar op 20-08-2003 23:30 ]

eagle


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:56

crisp

Devver

Pixelated

JavaScript:
1
2
3
var lengte = 4;

var random = Math.ceil(Math.random()*(Math.pow(10,lengte)-1));

Intentionally left blank


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 02:40

Pelle

🚴‍♂️

r0bert, dit is zooo simpel.. dat had ik niet van je verwacht :o

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Argh! Hmmja :S

Heb je dat nooit, dat je de hele dag bezig bent geweest.. en dat je dan tegen een probleem aan loopt, waarvan je bijna zeker weet dat het een simpel probleem is, maar je gewoon niet op de juiste oplossing kunt komen omdat alles in je hoofd door elkaar loopt ? Niet ? Ohw ik wel ;) :P

Maargoed, dit is inderdaad wel heel basic als ik de oplossingen zie.. verdient 't geen slotje ;) :?

(Oh en dat met Wiskunde als beste vak :S kun je 't je voorstellen?) ;) en dan bedoel ik niet dat mijn andere vakken zo slecht waren (alhoewel ;))

[ Voor 19% gewijzigd door r0bert op 20-08-2003 23:43 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:56

crisp

Devver

Pixelated

Bij deze heeft rObert dan een slotje verdient (op eigen verzoek) ;)
zal ik er een lintje omheen doen? :P

Intentionally left blank

Pagina: 1

Dit topic is gesloten.