abcd à substituer dans une somme

Problème



Déterminer le nombre N s'écrivant en numération décimale " a b c d ", tel que l'addition suivante soit vérifiée: " a b c " + "d a b" + "c d a" + "b c d" = "a b c d " ( "a b c" est le nombre qui s'écrit avec les chiffres a, b et c par exemple " 2 3 6 " = 236 ) Les chiffres a,b,c,d peuvent être égaux ( mais non tous nuls quand même ! )

Analyse



simple mais élégant, la maitrise de l'art de la macro est indispensable

Programme

Voir le code dans une autre fenetre


#define t(a,b,c)  (a*100+b*10+c)
#define loop(a)   for(a=0;a<10;a++)
#define s  (t(a,b,c)+t(d,a,b)+t(c,d,a)+t(b,c,d)-a*1000-b*100-c*10-d)

void main (void) {
int a,b,c,d;

  loop(a) loop(b) loop(c) loop(d)
    if (!s && ( a||b||c||d) ) printf("%d %d %d %d\n",a,b,c,d);

}


Conclusion



a b c d 4 lettres à remplacer
une somme à dévoilée
quelques boucles imbriquées
par des macros simplifiées



codingfun_nospam_@salemioche.com
Dernière mise à jour: 26 Feb 2008 - Réalisé avec youhp3
A voir : Site Bébé - Glaces.org - Sorbets.org - IP relax - creer son site / forum
v1.0 - © Nicolas JEAN :CV - NiKoZEN : Création site internet 2002-2008
Hébergement web - appareils musculation - Lingerie - rencontre
saut en parachute - shopping en ligne - referencement site web