Ciao Gila,
questo commento all'interno del tuo codice C mi lascia perplesso
//***********************************************
// test: se il liquido non è un multiplo dei
// 2 membri (75,33 nel mio) caso
// il risultato sarà frazionario e a me non va bene
//*************************************************
Nel senso che non è strettamente necessario che il totale del liquido sia condizionato dal MCD di 75 e 33, perché è il risultato della somma di 3 prodotti.
Per esempio, immaginiamo che il totale sia 3580 cl, che non è affatto un multiplo di 3, ma l'equazione ammette lo stesso
una oppure, come un questo caso,
più soluzioni, ricavate tramite il programmino riportato sotto.
Cheers
Codice: Seleziona tutto
Valore iniziale intero delle 3 incognite [try 100]: 100
Equazione data: 33 * x + 50 * y + 75 * z - 3580 = 0
Soluzione: (x,y,z)= 85 14 1
Soluzione: (x,y,z)= 85 14 1
Soluzione: (x,y,z)= 85 11 3
Soluzione: (x,y,z)= 85 8 5
Soluzione: (x,y,z)= 85 5 7
Soluzione: (x,y,z)= 85 2 9
Soluzione: (x,y,z)= 60 29 2
Soluzione: (x,y,z)= 60 26 4
Soluzione: (x,y,z)= 60 23 6
Soluzione: (x,y,z)= 60 20 8
Soluzione: (x,y,z)= 60 17 10
Soluzione: (x,y,z)= 60 14 12
Soluzione: (x,y,z)= 60 11 14
Soluzione: (x,y,z)= 60 8 16
Soluzione: (x,y,z)= 60 5 18
Soluzione: (x,y,z)= 60 2 20
Soluzione: (x,y,z)= 35 47 1
Soluzione: (x,y,z)= 35 47 1
Soluzione: (x,y,z)= 35 44 3
Soluzione: (x,y,z)= 35 41 5
Soluzione: (x,y,z)= 35 38 7
Soluzione: (x,y,z)= 35 35 9
Soluzione: (x,y,z)= 35 32 11
Soluzione: (x,y,z)= 35 29 13
Soluzione: (x,y,z)= 35 26 15
Soluzione: (x,y,z)= 35 23 17
Soluzione: (x,y,z)= 35 20 19
Soluzione: (x,y,z)= 35 17 21
Soluzione: (x,y,z)= 35 14 23
Soluzione: (x,y,z)= 35 11 25
Soluzione: (x,y,z)= 35 8 27
Soluzione: (x,y,z)= 35 5 29
Soluzione: (x,y,z)= 35 2 31
Soluzione: (x,y,z)= 10 62 2
Soluzione: (x,y,z)= 10 59 4
Soluzione: (x,y,z)= 10 56 6
Soluzione: (x,y,z)= 10 53 8
Soluzione: (x,y,z)= 10 50 10
Soluzione: (x,y,z)= 10 47 12
Soluzione: (x,y,z)= 10 44 14
Soluzione: (x,y,z)= 10 41 16
Soluzione: (x,y,z)= 10 38 18
Soluzione: (x,y,z)= 10 35 20
Soluzione: (x,y,z)= 10 32 22
Soluzione: (x,y,z)= 10 29 24
Soluzione: (x,y,z)= 10 26 26
Soluzione: (x,y,z)= 10 23 28
Soluzione: (x,y,z)= 10 20 30
Soluzione: (x,y,z)= 10 17 32
Codice Python
Codice: Seleziona tutto
# ---- barattoli2.py --------- (forum Ubuntu Italia, Python 2.6, 18.05.17) ---------
# scandaglia piu' soluzioni, se ce ne sono !!
n = input("\n Valore iniziale intero delle 3 incognite [try 10]: ")
a=33
b=50
c=75
d=3580
#
j=n
k=n
#
print "\n Equazione data:",a,"* x + ",b,"* y + ",c,"* z - ",d," = 0\n"
for i in range (n,0,-1):
somma= a*i + b*j + c*k -d
if (somma == 0):
print " Soluzione: (x,y,z)= ", i,j,k
for j in range (n,0,-1):
somma= a*i + b*j + c*k -d
if (somma == 0):
print " Soluzione: (x,y,z)= ", i,j,k
for k in range (n,0,-1):
somma= a*i + b*j + c*k -d
if (somma == 0):
print " Soluzione: (x,y,z)= ", i,j,k
print "\n -------- Fine della scansione --------"
#