Bonsoir,
Je veux générer un grand nombre X compris entre N1 et N2.
Comment procéder avec la fonction RandomGInt ?
Merci pour votre aide.
Cordialement
Fermat
Bonsoir,
Je veux générer un grand nombre X compris entre N1 et N2.
Comment procéder avec la fonction RandomGInt ?
Merci pour votre aide.
Cordialement
Fermat
Bonjour,
Le principe X := N1 + RandomGInt(N2 - N1); à adapter avec les fonctions d'addition et de soustraction de l'unité...
Bonjour,
Par définition, je suis l'auteur de l'unité UnitGint, à moins qu'il s'agisse d'autre chose (??...)
La solution proposée par Ph.B est très judicieuse.
Il y est ainsi possible de générer des aléatoires de plusieurs types :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Génère un GInt aléatoire situé dans le domaine [#0...Nb] function FRandomGInt(Nb : GInt): GInt; // Génère un GInt aléatoire de NbBits +- 8 function FRandomLGInt(NbBits : longword): GInt; // Génère un GInt aléatoire de NbBits +- 8 tous les octets impairs function FRandomLGIntImpair(NbBits : longword): GInt; // Génère un GInt aléatoire de NbBits Premier function FGetGIntPrime(NbBits : longword): GInt; // Génère un GInt premier aléatoire sous la formule de Dirichlet // Nb = a^2 + b avec b Impair function FDirichlet(NbBits : longword): GInt;
Bonsoir,
Je vous remercie de votre réponse.
Je vais étudier la documentation de 'NewGInt & NewGCent'.
Cordialement
Fermat
Pas de problème, c'est moi qui vous remercie de pratiquer avec mes unités... De mon côté, je suis en cogitation pour établir une routine qui donne directement le GInt voulu dans le domaine [N1..N2]. Dès qu'elle est au point, je la placerai ici dans cette discussion..
N.B. Important : Pour la génération des valeurs aléatoires, la NewGInt n'utilise pas le générateur de Delphi, mais un en interne qui lui est propre donc indépendant. Cela suppose que pour tout appel d'aléatoire, il faut au moins une fois faire un appel préalable à la procédure d'initialisation de ce générateur : PRndGIntMize.
Bonsoir,
Merci de votre attention.
Vos conseils sont les bienvenus, car j'ai tant à apprendre.
Cordialement.
Fermat
Partager