产品A成本10美元,B成本3美元,C成本0.50美元.一个人花100美元买了100件物品.该人购买的每件物品中有多少件.
我发现答案是 -
94 * 0.5 = 47
1 * 3 = 3
5 * 10 = 50
Run Code Online (Sandbox Code Playgroud)
但我无法在java中实现它作为我从Hit和Trial获得结果的解决方案.解决这个问题的算法是什么?
平原蛮力:
for (int i1 = 0; i1 <= 10; i1++) {
for (int i2 = 0; i2 < 34; i2++) {
int i3 = 100 - i2 - i1;
int total = i1 * 10 + i2 * 3 + i3 / 2;
if (total == 100 && i3 % 2 == 0)
System.out.println(i1 + " * 10 + " + i2
+ " * 3 + " + i3 + " * 0.5 = 100");
}
}
Run Code Online (Sandbox Code Playgroud)
给出两个答案:
PS当然,它不是最佳解决方案,但只有三个项目和100个总量 - 它很好(从编码它所需的时间点开始最佳).