Calcul à trou avec multiples inconnues

kowalskic2 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut tout le monde.
J’ai deux tableau, tab1 et tab2 ayant chacun le même nombre d’élément tel que :
tab1 = {1, 2, 3, 4, 5} ; tab2 = {x1, x2, x3, x4, x5}.
J’ai aussi l’équation suivante :
(1*x1) + (2*x2) + (3*x3) + (4*x4) + (5*x5) = 55. Je cherche donc une formule ou une méthode permettant de calculer chaque valeur de x. Ce qui me permettrait de les afficher à l’aide d’un printf. Merci d’avance.
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, as-tu vraiment une seule équation à cinq inconnues?
0
kowalskic2 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
oui
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Du coup tu pourrais avoir une infinité de solutions... si les x étaient réels.
Mais j'imagine ici que tu te limite à des x entiers positifs ? Ça réduit la difficulté.

Dans ce cas il faut envisager de faire des boucles imbriquées, en force brute, calculer toutes les combinaisons possibles et n'afficher que celles dont le calcul est correct.
0
kowalskic2 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Justement procéder par force brute prendra trop de temps si le nombre d'inconnues augmente. C'est pour cela que je cherche une autre méthode
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
"C'est pour cela que je cherche une autre méthode"
À quel moment tu as dis ça ?

Expliques mieux ton problème, une question imprécise ne peut pas conduire à une réponse pertinente.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
cela ne prend pas beaucoup de temps, car tu peux procéder par récursivité:
tu fais une boucle sur X5 en commençant par 0, et tu arrêtes quand (5*x5) > 55
pour chaque valeur de X5, tu dois résoudre l'équation suivante:
(1*x1) + (2*x2) + (3*x3) + (4*x4) = 55 - (5*x5)
ce que tu fais par récursivité

je te laisse déterminer comment arrêter la récursivité.
0