Python 3, Permutation, Kombination
Baller
Mein Problem ist:
Schreiben Sie einen Code, der alle möglichen Kombinationen für x, y, z so ausgibt, dass sie dem Eingabewert der Gesamtsumme entsprechen. x,y,z = integer
::
x*500 + y*300 + z*400 = total sum
aber es wurden nicht alle möglichen Antworten ausgedruckt. Irgendwelche Vorschläge, wie man dieses Problem angeht? alles würde helfen.
Vielen Dank!
LaurensVijnck
Hier hilft eine Art Backtracking-Algorithmus.
https://en.wikipedia.org/wiki/Backtracking
public void generatePossiblities(int xVal, int yVal, int zVal, int sum){
if((xVal + yVal + zVal) == sum){
print(xVal, yVal, zVal);
return;
}
if((xVal + yVal + zVal) > sum){
return;
}
for(int i = 2; i < sum; i++){
generatePossiblities(xVal*i, yVal, zVal, sum)
generatePossiblities(xVal, yVal*i, zVal, sum)
generatePossiblities(xVal, yVal, zVal*i, sum)
}
}
Nur um ein Java-Beispiel festzulegen, da ich Python nicht regelmäßig verwende. Hoffe das hilft.