Domanda

Come posso creare un numero intero casuale n in Java, tra 1 e k con una "distribuzione discendente lineare", cioè 1 è molto probabile, 2 è meno probabile, 3 meno probabile, ..., k meno probabile, e le probabilità scendono linearmente, in questo modo:

enter image description here

So che ci sono già dosen di thread su questo argomento e mi scuso per averne fatto uno nuovo, ma non riesco a essere in grado di creare ciò di cui ho bisogno da loro. Lo so usare import java.util.*;, il codice

Random r=new Random();
int n=r.nextInt(k)+1;

crea un numero intero casuale tra 1 e k, distribuito uniformemente.

GENERALIZZAZIONE: Qualsiasi suggerimento per creare un numero intero distribuito arbitrariamente, cioè f(n)=some function, P(n)=f(n)/(f(1)+...+f(k))), sarebbe anche apprezzato, per esempio:enter image description here.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top