Bonjour à tous,
je bloque depuis hier sur un l'algorithme des drapeaux ,qui consiste à remettre dans l'ordre n boules blanches,rouges et bleues afin d'avoir les bleues en tête ,les blanches au milieu et les rouges à la fin par échanges successifs de boules prises deux à deux ,tout ceci en faisant le moins d'échanges possibles.
Dans cet exercice on doit écrire ce programme qui respecte l'invariant suivant :
- Si 1<=i<r1 alors couleur(i)=bleu
- Si r1<=i<r2 alors couleur(i)=blanc
- Si r3<i<=n alors couleur(i)=rouge
Mon idée de base après avoir un peu cherché était de fixer r1=1 ,r2=1 et r3=n au début puis faire varier r2 jusqu'à ce que r2=r3 ,sauf que cette solution ne respecte pas l'invariant puisque que r1>1 selon l'invariant.
et je n'arrive pas à trouver des solutions qui respectent cet invariant ,donc si vous avez des idées je suis preneur.
Sur ce bonne après-midi .
Problème invariant algorithme drapeau
Le problème exposé dans ce sujet a été résolu.
Connectez-vous pour pouvoir poster un message.
Connexion
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte