Python 3、排列组合
Python 3, Permutation , combination
我的问题是:
编写代码打印出 x,y,z 的所有可能组合,使它们等于总和的输入值。 x,y,z = integer
:
x*500 + y*300 + z*400 = total sum
但它没有打印出所有可能的答案。关于如何解决这个问题的任何建议?任何事情都会有所帮助。
谢谢!
一种回溯算法会有所帮助。
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)
}
}
只是为了设置一个 Java 示例,因为我不经常使用 Python。希望这对您有所帮助。
我的问题是:
编写代码打印出 x,y,z 的所有可能组合,使它们等于总和的输入值。 x,y,z = integer
:
x*500 + y*300 + z*400 = total sum
但它没有打印出所有可能的答案。关于如何解决这个问题的任何建议?任何事情都会有所帮助。
谢谢!
一种回溯算法会有所帮助。
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)
}
}
只是为了设置一个 Java 示例,因为我不经常使用 Python。希望这对您有所帮助。