Algorithme pour pourcentage et priorité
Résolu
Hypolythe
-
Hypolythe -
Hypolythe -
Bonjour, bonsoir,
Je cherche à mettre en place l'algorithme suivant :
J'ai un nombre indéfini d'éléments.
Chaque élément possède une priorité (par exemple de 1 à 3)
je dois être capable en fonction du nombre d'éléments et de leur priorité de sortir un pourcentage.
Par exemple, j'ai 4 éléments :
un élément en priorité 1 (priorité élevée)
un élément en priorité 1 (priorité élevée)
un élément en priorité 2 (priorité moyenne)
un élément en priorité 3 (priorité basse)
J'aimerai convertir ça en pourcentage pour chaque élément (quelque chose comme 35% / 35% / 20% / 10%).
Auriez-vous une idée d'algorithme pour mettre en place ce calcul ?
Merci par avance pour votre aide !
Je cherche à mettre en place l'algorithme suivant :
J'ai un nombre indéfini d'éléments.
Chaque élément possède une priorité (par exemple de 1 à 3)
je dois être capable en fonction du nombre d'éléments et de leur priorité de sortir un pourcentage.
Par exemple, j'ai 4 éléments :
un élément en priorité 1 (priorité élevée)
un élément en priorité 1 (priorité élevée)
un élément en priorité 2 (priorité moyenne)
un élément en priorité 3 (priorité basse)
J'aimerai convertir ça en pourcentage pour chaque élément (quelque chose comme 35% / 35% / 20% / 10%).
Auriez-vous une idée d'algorithme pour mettre en place ce calcul ?
Merci par avance pour votre aide !
4 réponses
-
Le pourcentage représentera quoi ?
Un indice qui servira à prioriser quel élément doit être traité en premier ?
Un pourcentage indiquant le nombre d'éléments par priorité par rapport au nombre total d'éléments ? -
Bonjour SamFish, merci de répondre.
Le pourcentage me servira à établir une chance d'affichage de cet élément.
En reprenant l'exemple précédent, le 1er et le 2ème élément auraient (à peu près) 35% de chances chacun d'être affichés.
En fait je m'en sers pour choisir un élément aléatoirement parmi la liste (en fonction du nombre d'éléments dans la liste et de leur priorité à chacun).
J'espère être clair, n'hésite pas dans le cas contraire. -
Je ne vois pas le problème...
Il suffit d'étalonner chaque niveau de priorité avec le pourcentage que tu souhaites, puis reprendre ces valeurs pour les autre cas !
Par exemple :Niveau 1, pourcentage=35 Niveau 2, pourcentage=20 Niveau 1, pourcentage=10
Ce qui donne sur l'étalon :Élément priorité 1 : 35/(35+35+20+10)=35% Élément priorité 1 : 35/(35+35+20+10)=35% Élément priorité 2 : 20/(35+35+20+10)=20% Élément priorité 3 : 10/(35+35+20+10)=10%
Et sur un autre exemple :Élément priorité 1 : 35/(35+20+20+10)=41.2% Élément priorité 2 : 20/(35+20+20+10)=23.5% Élément priorité 2 : 20/(35+20+20+10)=23.5% Élément priorité 3 : 10/(35+20+20+10)=11.8%
-
Hello !
Ce n'est pas tout à fait ça que je cherche.
En revanche, je pense avoir trouvé la solution à force de retourner le truc.
Il faut que je réfléchisse en tableau :
[element1, element2, element3]
Si mon element1 a une priorité de 3, je le duplique 2 fois pour qu'il ait plus de chances de sortir :
[element1, element1, element1, ...]
Ensuite je fais un nombre aléatoire entre 0 et la longueur de mon tableau, et voilà. La priorité est respectée.
Merci pour votre aide KX et SamFish.
Bonne soirée.