Aidez moi pour resoudre cet algorithme

Résolu
slt a tous
voila g un probléme pour resoudre cet algorithme,
merci de m'aider:
on remarque que:
12*42=21*24
12*63=21*36
21*48=12*84

1-Ecrire un algorithme qui demande à l'utilisateur de saisir deux entiers à deux chiffres chacun et de tester si les deux vérifient cette propriété ou non.

2-Si on désir modifier l'algorithme précédent de telle sorte qu'il donne directement tous les entiers vérifiant cette propriété sans l'intervention de l'utilisateur. Ecrire cet algorithme
Configuration: Windows XP
Firefox 2.0.0.14

10 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    En fait c'est une permutation

    Regarde tu as les mêmes chiffres (et pas nombres) à gauche et à droite.

    C'est une simple permutation.

    12 devient 21
    42 => 24 etc

    Donc ton prog doit récupérer les deux chiffres rentrés que je vais appeller AB et CD

    Puis vérifier si AB * CD = BA * DC

    Pour la seconde question il faut étendre cette recherche pour toutes les combinaisons entre 10 * 10 et 99 * 99
    1. A quel niveau tu bloques ? Qu'est ce que t'as déjà réussi à écrire ?
      1. le probléme c ke comment je peut faire concaténer les 2 chiffres en entier??
        1. Faut pas concaténer.

          C'est en quel langage???
        2. convertit en chaine de caractere pour les manipuler
          par exemple:
          saisir "premier nombre", A
          saisir deuxiem...............B
          ..................................C
          ..................................D

          tu convertis tout en caractere et après
          AB=A+B
          .......

          et après tu reconvertit en numerique pour les calculs
      2. c un peu compliqué pour moi
        mais comment on peut reconvertit en numerique??
        1. Quel langage???

          Sinon l'algo est très simple

          je récup deux nombres

          AB Et CD

          Je génère deux news nombres

          BA et DC.

          Puis je compare les multiplications entre elles

          Si AB * CD == BA * DC

          alors la propriété est vérifée.
          1. Bonjour, j'ai fait la première question avec le langage C
            j'espère qu'elle te conviendrait ^^

            #include<stdio.h>
            int a,b,c,d,ab,ba,cd,dc;
            main()
            {
            clrscr();
            printf("entrez le premier nombre: \n");
            scanf("%d%d",&a,&b);
            printf("entrez le deuxième nombre; \n");
            scanf("%d%d",&c,&d);
            ab=(a*10)+b;
            ba=(b*10)+a;
            cd=(c*10)+d;
            dc=(d*10)+c;
            if(ab*cd==ba*dc)
            printf("\nCes nombres réalisent la propriété");
            else
            printf("\nCes nombres ne r‚alisent pas la propriété");
            getch();
            return 0;
            }
            1. g essayé de le resoudre mais ché pa est ce que c une bonne ideé??
              je dois recup: A,B,C et D de type entier d'un seul chiffre
              :AB1, AB2, CD1, CD2 de type entier de deux chiffres
              A==A*10 " car dizaine"
              C==C*10
              AB1=A+B
              CD1=C+D
              TOTAL1=AB1*CD1

              A==A/10
              B==B*10
              C==C/10
              D==D*10
              AB2=A+B
              CD2=C+D
              TOTAL2=AB2*CD2

              si TOTAL1=TOTAL2
              alors la propriété est verifié
              1. ah tu m'a anticipé inventrice, je crois c une bonne ideé pour résoudre cet algo
                merci pour votre aide