Aller au contenu

Énigmes

Sachant que A, B, C, D, E, F, G et H sont tous différents (entre 0 et 9)

Saurez-vous résoudre l'addition suivante ?

 

  ABCABA

+ BBDCAA

+ ABDBAA

+ ABEABB

========

 AAFGBDH

 

Temps de résolution: 2 jours

Comme d'habitude, les premières réponses par Spoiler spoiler.png

Partager ce message


Lien à poster
Partager sur d’autres sites

8 réponses à cette énigme

Messages recommandés

  • 0

Y aurait-il une erreur dans l'énoncée ?

Ou alors je me suis planté quelque part mais je trouve des impossibilités dans ce calcul ...

Je m'explique : 

 

Soit les équations suivantes correspondant au calcul : 

 

(1) 3a + b = x1h  => a !=0  car sinon b = h
(2) 2a + 2b + x1 = x2d
(3) 2a + b + c + x2 = x3b
(4) c + 2d + e + x3 = x4g
(5) 4b + x4 = x5f
(6) 3a + b + x5 = aa
 
 
Avec comme maximum 4*9 = 36, le chiffre des dixaine est compris entre 0 et 3 (la limite étant de 36+3=39)
 
'a' étant le dernier chiffre des dixaines, il est compris entre 1 (d'après (1)) et 3.
Les chiffres (x1,x2,x3,x4,x5) sont eux compris entre 0 et 3.
 
(1) 3a + b <= 9+9=18 , donc x1 <= 1
 
(6) 3a + b + x5 <= 9+9+3=21
Le seul nombre de type 'aa' possible <= 21 est 11
Donc a = 1
 
=> b+x5 = 8 Donc 5 <= b <= 8 (avec x5 compris entre 0 et 3)
 
(5) 4b+x4 >= 20 (car b >= 5). Donc x5 >= 2
En reprenant la ligne précédante, on a donc :
b= 7 ou b=8 (avec x5 compris entre 2 et 3)
 
(1) 3a + b = 10 ou 11. Or h != a donc h=0 et b = 7. x1 = 1
 
(2) 2 + 14 + 1 = 17 ,  x2 = 1 , d = 7 impossible
 
(3) 2 + 7 + c + 1 = 10 + c , c = b = 7 , aah ah ... 
 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

J'avais rien d'autre à faire au boulot :mrgreen:

167161+664711+164611+162166 = 1158649

a=1, b=6, c=7, d=4, e=2, f=5, g=8, h=9

#include <stdio.h>

int main(void)
{
    int a, b, c, d, e, f, g, h = 0;

    for(a=0; a<10; a++)
        for(b=0; b<10; b++)
            for(c=0; c<10; c++)
                for(d=0; d<10; d++)
                    for(e=0; e<10; e++)
                        for(f=0; f<10; f++)
                            for(g=0; g<10; g++)
                                for(h=0; h<10; h++)
                                    if(a!=b && a!=c && a!=d && a!=e && a!=f && a!=g && a!=h &&
                                           b!=c && b!=d && b!=e && b!=f && b!=g && b!=h &&
                                                      c!=d && c!=e && c!=f && c!=g && c!=h &&
                                                                 d!=e && d!=f && d!=g && d!=h &&
                                                                            e!=f && e!=g && e!=h &&
                                                                                       f!=g && f!=h &&
                                                                                                   g!=h)    
                                        if(((a+10*b+100*a+c*1000+b*10000+a*100000)
                                            +(a+a*10+c*100+d*1000+b*10000+b*100000)
                                            +(a+a*10+b*100+d*1000+b*10000+a*100000)
                                            +(b+b*10+a*100+e*1000+b*10000+a*100000))  
                                            ==
                                            (h+d*10+b*100+g*1000+f*10000+a*100000+a*1000000))
                                               printf("%d, %d, %d, %d, %d, %d, %d, %d \n", a, b, c, d, e, f, g, h);
}

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonnes réponses de timout et godzi :top:

Petiseb je ne pense pas d'erreur sinon personne n'aurait trouvé :1look2:

Je regarderai ta démonstration demain, là je suis sur mon tel, pas très pratique

Sinon godzi, je l'ai résolue tout en finesse moi aussi :lol:

Code quasi identique en Perl :fou2:

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Ah quel naze, j'ai fait une erreur de soustraction. Bravo ducon, ça c'est bien joué.

 

Bref, on a donc le résultat suivant :

 

a=1, b=6, c=7, d=4, e=2, f=5, g=8, h=9

 

Démo :

 

(1) 3a + b = x1h  => a !=0  car sinon b = h
(2) 2a + 2b + x1 = x2d
(3) 2a + b + c + x2 = x3b
(4) c + 2d + e + x3 = x4g
(5) 4b + x4 = x5f
(6) 3a + b + x5 = aa
 
 
Avec comme maximum 4*9 = 36, le chiffre des dixaine est compris entre 0 et 3 (la limite étant de 36+3=39)
 
'a' étant le dernier chiffre des dixaines, il est compris entre 1 (d'après (1)) et 3.
Les chiffres (x1,x2,x3,x4,x5) sont eux compris entre 0 et 3.
 
(1) 3a + b <= 9+9=18 , donc x1 <= 1
 
(6) 3a + b + x5 <= 9+9+3=21
Le seul nombre de type 'aa' possible <= 21 est 11
Donc a = 1
 
=> b+x5 = 8 Donc 5 <= b <= 8 (avec x5 compris entre 0 et 3)
 
(5) 4b+x4 >= 20 (car b >= 5). Donc x5 >= 2
En reprenant la ligne précédante, on a donc :
b= 5 ou b=6 (avec x5 compris entre 2 et 3)
 
4b + x4 <= 27 , donc x5 = 2
 
Donc  b = 6
 
(1) 3a + b = 9. x1 = 0 , h=9
 
(2) 2a + 2b = 14 ,  x2 = 1 , d=4
 
(3) 2a + b + c + 1= 9 + c = 16 donc x3 = 1 et c = 7
 
(4) c + 2d + e + x3 = 7 + 8 + 1 + e = 16+e = x4g , x4 = 1 ou 2
 
(5) Si x4=2 , 24+2 = 26 , f=6 impossible
Donc x4 = 1 et f=5
 
(4) 16+e = 1g , donc e<=3
Si e = 3 , g = 9 impossible
Si e = 0 , g = 6 impossible
Donc e = 2 et g = 8
 
En récapitulant, on obtient :
a=1, b=6, c=7, d=4, e=2, f=5, g=8, h=9
 
L'opération ressemble à :
 
  167161
+ 664711
+ 164611
+ 162166
 
========
 
 1158649

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez notre Politique de confidentialité et nos Conditions d’utilisation
Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.