Calcul à trou avec multiples inconnues

kowalskic2 Messages postés 6 Statut Membre -  
yg_be Messages postés 24281 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 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 
bonjour, as-tu vraiment une seule équation à cinq inconnues?
0
kowalskic2 Messages postés 6 Statut Membre
 
oui
0
KX Messages postés 19031 Statut Modérateur 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 Statut Membre
 
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 19031 Statut Modérateur 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 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585
 
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