A voir également:
- JAVA Math.random()
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
4 réponses
Aaaargh ! Des maths ^^
Il faut considérer un isomorphisme pour passer de l'ensemble des entiers naturels N, à l'ensemble des entiers naturels dont l'unité est inférieure ou égale à 7 (appelons le M).
On peut par exemple appeler phi(n) le nième nombre de M.
Exemple : phi(0)=0... phi(7)=7, phi(8)=10... phi(15)=17... phi(8k+u)=10k+u
Inversement on peut retrouver à partir d'une valeur n de M, l'entier k tel que phi(k)=n.
Evidemment ici n ne peut pas finir par 8 ou 9 vu que n est le résultat de phi(k)
Au final chercher un nombre aléatoire entre 0 et 7777 qui ne finit ni par 8, ni par 9, c'est chercher phi(n) où n est un nombre aléatoire entre 0 et psi(7777)
Cette méthode bien qu'un peu mathématiques a un certain nombre d'avantages, en particulier celui de conserver la même probabilité pour chacune des valeurs possibles.
La confiance n'exclut pas le contrôle
Il faut considérer un isomorphisme pour passer de l'ensemble des entiers naturels N, à l'ensemble des entiers naturels dont l'unité est inférieure ou égale à 7 (appelons le M).
On peut par exemple appeler phi(n) le nième nombre de M.
Exemple : phi(0)=0... phi(7)=7, phi(8)=10... phi(15)=17... phi(8k+u)=10k+u
public static int phi(int n)
{
return (n/8)*10+(n%8);
}
Inversement on peut retrouver à partir d'une valeur n de M, l'entier k tel que phi(k)=n.
Evidemment ici n ne peut pas finir par 8 ou 9 vu que n est le résultat de phi(k)
public static int psi(int n)
{
return (n/10)*8+(n%10);
}
Au final chercher un nombre aléatoire entre 0 et 7777 qui ne finit ni par 8, ni par 9, c'est chercher phi(n) où n est un nombre aléatoire entre 0 et psi(7777)
import java.util.Random;
public final static Random rand = new Random();
public final static int MAX = psi(7777); // 6223
public static int aleatoire()
{
return phi(rand.nextInt(MAX+1));
}
Cette méthode bien qu'un peu mathématiques a un certain nombre d'avantages, en particulier celui de conserver la même probabilité pour chacune des valeurs possibles.
La confiance n'exclut pas le contrôle