这是1分2分5分必须有一个
public static void sort() {
int x = 1, y = 2, z = 5;
for (int i = 1; i < 10/x; i++) {
for (int j = 1; j < 10/y; j++) {
for (int k = 1; k < 10/z; k++) {
if ((i * x + j * y + k * z) == 10){
System.out.println("1分的"+ i +" 2分的"+j+" 5分的"+k);
}
}
}
}
}
改进版
public static void sort() {
int x = 1, y = 2, z = 5;
for (int i = 1; i < (10-y-z)/x; i++) {
for (int j = 1; j < (10-x-z)/y; j++) {
for (int k = 1; k < (10-x-y)/z; k++) {
if ((i * x + j * y + k * z) == 10){
System.out.println("1分的"+ i +" 2分的"+j+" 5分的"+k);
}
}
}
}
}
如果没有限制
public static void sort() {
int x = 1, y = 2, z = 5;
for (int i = 0; i <= 10/x; i++) {
for (int j = 0; j <= 10/y; j++) {
for (int k = 0; k <= 10/z; k++) {
if ((i * x + j * y + k * z) == 10){
System.out.println("1分的"+ i +" 2分的"+j+" 5分的"+k);
}
}
}
}
}
本文探讨了如何使用三枚不同面额的硬币(1分、2分、5分)组合成总金额10分的所有可能性。通过优化循环条件减少不必要的计算,实现了算法效率的提升。
5332

被折叠的 条评论
为什么被折叠?



