Script de calcul...

Fermé
.:!S3B!:. - 8 févr. 2003 à 18:59
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 - 24 févr. 2003 à 09:07
Salut à tous. Ca va faire deux jour que je suis en train d'essayer de faire un script mais j'y arrive pas...

Je veux trouver les valeurs de x, y et z sachant que x,y et z sont compris entre [1;12], qu'il ne peuvent être que des entiers naturels et que x*y*z=64...Vous pouvez m'aider SVP !!!

SEB
A voir également:

2 réponses

eolim Messages postés 97 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 20 juillet 2005 2
23 févr. 2003 à 02:07
Une méthode peut-être pas très élégante est de faire de produit des différentes valeurs de x, y et z de [1 ; 12] n N. Pour cela, il faudrait utiliser trois boucles imbriquées (des boucles for par exemple). A chaque fois que le produit donne 64, il faudra conserver les valeurs de (x, y, z). Ici un test de comparaison est placé dans la boucle la plus interne.

Cependant, il faut penser que le produit est commutatif. Calculer a*b et identique b*a par exemple. Donc, il y a possibilité d'exclure des boucles un certain nombre de valeurs à tester. Ainsi, il n'y a plus 12**3 tests à effecuer mais beaucoup moins. Mais lors de l'affichage des résultats, il faudra bien faire apparître tous les couples (x, y, z) pas seulement ceux conservs en mémoire.

Voilà, j'espère que ceci va t'aider.
Bonne chance
Tiens moi au courant. si tu as trouvé une autre méthode ça m'intéresse...

A plus
eolim

Tu n'as pas indiqué quel langage script tu utilises.
0
wiwimagique Messages postés 481 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 20 avril 2006 108
24 févr. 2003 à 09:07
Une autre solution serait d'essayer de diviser 64 par tous les nombres entre 1 et 12.
si le resultat est un entier, tu enregistres ce nombre et le resultat de la division: ce sera un x et le resultat de 64/x, que j'appelle n.
ensuite, tu essayes de diviser les differents n par tous les nombres de 1 a 12 si n leur est superieur.
Si le resultat est un entier: ce nombre est y et le resultat de la division est z.
:)
0