我碰到这个问题javabat(http://www.javabat.com/prob/p183562)传来:一个java实践问题
我们希望使砖的一排 是目标英寸长。我们有一个小号砖(每个1英寸)和大号 砖(每个5英寸)的号码 。如果 返回true,可以通过 从给定的砖块中选择目标。这 比看起来有点难, 可以完成没有任何循环。
makeBricks(3,1,8)→真
makeBricks(3,1,9)→假
makeBricks(3,2,10)→真
我想出了这个解决方案:
public boolean makeBricks(int small, int big, int goal) {
if (goal > small + big * 5)
return false;
else if (goal % 5 == 0)
return goal/5 <= big;
else
return goal % 5 <= small;
}
这通过了测试。但我自己找到了一个反例:makeBricks(10,0,10) - > true。我的逻辑将返回false。我应该如何解决我的逻辑?还是有更好的方法来做到这一点?
这当然是......实践问题之一在一个Java和Python的学习网站上... codingbat.com – 2011-04-02 05:43:22