Algorithme de calcul pour tournoi

Résolu
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   -  
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je recherche un ou des algorithmes permettant de calculer le numéro du match suivant pour un tournoi.
Dans l'image ci-dessous (en 16 matchs) 1 et 2 donnent 17, 3 et 4 donnent 18 etc.


Je voudrais que l'algorithme puisse fonctionner pour 16 matchs (comme sur l'image) mais aussi pour 8, 4 et 2 (les tournois ne sont pas tous en 16 match dès le départ).

Merci à vous d'avance !
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, peux-tu décrire plus précisément les entrées et les sorties de ton algorithme?
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
qu'entends-tu par entrées et sorties ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
qu'attends-tu de l'algorithme?
qu'il te fasse un tableau comme celui que tu as montré?
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
Non du tout, simplement qu'il me calcul selon le match dans lequel je suis ( de 1 à 16 dans l'exemple ) dans quel match je vais tomber au tour d'après (de 17 à 24 toujours dans l'exemple)
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
par exemple: prochain _match = 16+TRUNC((1+ancien_match)/2)
cela ne fonctionne que pour le premier tour, comme tu as demandé.
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
J'ai essayé et TRUNC n'est pas une fonction de PHP (j'avais posté dans la section PHP mais le site l'a redirigé)
0
jiantox Messages postés 1092 Date d'inscription   Statut Membre Dernière intervention   114
 
La dernière solution à l'air bonne :

$futur = $nmatch+floor((1+$match)/2);
ou $nmatch est le nombre de match et $match est le match actuel.

Merci beaucoup yg_be !
0