Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Numeri random ma con preferenze

    Ciao a tutti,
    mi serve uno script in PHP che mi generi un numero random compreso in un range, ma che però 'tenda' a preferire alcuni numeri nella scelta.. sapreste darmi una mano??

    Io avevo pensato ad un array contente dei numeri:
    $an = array(1,2,1,3,4,5,4,6,7,8,9,8,10) e poi generare il numero random prendendo come max il count() dell'array e procedere così:

    codice:
    <?php
    
      $an = array(1,2,1,3,4,5,4,6,7,8,9,8,10);
      $c = count($an);
      $nr = rand(0,$c);
      $numero = $an[$nr];
    per cercare l'indice di $an (ovviamente le probabilità che venga 'estratto' 1 o 4 oppure 8 sono secondo me maggiori), però sicuramente c'è qualcosa di più valido ed elegante..

    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    non so ma dalla teoria sulla probabilità mi viene in mente che se metti più volte quello che vuoi "preferire" nell'array è più probabile che questo venga estratto...

    poi userei array_rand al posto del tuo codice
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    Originariamente inviato da luke83
    non so ma dalla teoria sulla probabilità mi viene in mente che se metti più volte quello che vuoi "preferire" nell'array è più probabile che questo venga estratto...

    poi userei array_rand al posto del tuo codice
    Infatti è quello che pensavo di fare (eccetto array_rand), pensavo ci fosse qualche algoritmo più sofisticato.

    :maLOL:
    MR. PINK
    "Like a Virgin" is all about a girl who digs a guy with a big dick.
    The whole song is a metaphor for big dicks.

  4. #4
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    puoi inventarti quello che vuoi ma devi partire dal concetto che più ci sto e più è probabile che mi scelgano...

    è cine i biglietti della lotteria e le interrogazioni....

    nel primo caso compri molti biglietti.. nel secondo cerchi di sparire (=evento nullo, se nn ci sono non mi ciappa)
    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  5. #5
    Se i tuoi numeri che devo essere scelti più facilmente seguono un certo ordine, puoi sostituire il tutto con una funzione matematica che poi l'approssima da float ad intero.

    Int(Funzione(rand(0,100))) potrebbe ad esempio essere la funzione log(x) e i numeri alti hanno una probabilità maggiore di uscire.


    bo, scazzo
    ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.