Min et max sans condition ni itération

roseT Messages postés 52 Statut Membre -  
kyr4 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

J'ai un exercice qui paraît simple mais je n'ai pas pu le résoudre..

Il s'agit en fait de chercher le min et le max de deux entiers A et B sans utiliser les structures de contrôle conditionnelles ni celles itératives..

Merci bien de vouloir m'aider

Cordialement
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
     
    min = (A < B)?A:B;
    max = (A > B)?A:B;
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    l'opérateur ternaire est un opérateur conditionnel, et tu le sais bien ;-))

    à priori ce n'est pas ça que roseT veux sans utiliser les structures de contrôle conditionnelles
    0
    1. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
       
      tu as raison, mais au moins je propose quelque chose.
      0
  3. Mahmah Messages postés 497 Statut Membre 125
     
    Bonsoir,

    Le OU est considéré comme une structure de contrôle conditionnelle ?

    Merci,
    M.
    0
  4. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    je sais pas c'est en quel langage mais tu peux le faire avec une simple soustraction
    tu enleve 1 a chaque fois a A et B le premier qui arrive a 0 est le min l'autre est le max ;)
    0
    1. tatou_38 Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   121
       
      à espérer que A et B soient positifs !...
      0
    2. roseT Messages postés 52 Statut Membre 4
       
      Bonjour,

      Merci bien pour vos aides..

      En fait, la solution d'enlever 1 à A ou à B jusqu'à arriver à 0 est une solution itérative, or lénncé interdit toute condition et toute itération..

      Merci bien
      0
      1. kyr4 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   > roseT Messages postés 52 Statut Membre
         
        max(a,b) = (a+b+abs(b-a))/2

        min(a,b) = (a+b-abs(b-a))/2

        :)

        vive les maths :D

        Edit :
        . abs(b-a) est la valeur absolue disponible dans bcp de langage normalement, notée en math |b-a|
        . Explication : max (a,b) = moyenne ((a+b)/2) + moitié de la distance entre les points
        0