JAVA实现makeBricks问题(codingbat)

We want to make a row of bricks that is goal inches long. We have a number of small bricks (1 inch each) and big bricks (5 inches each). Return true if it is possible to make the goal by choosing from the given bricks. This is a little harder than it looks and can be done without any loops. See also: Introduction to MakeBricks
makeBricks(3, 1, 8) → true
makeBricks(3, 1, 9) → false
makeBricks(3, 2, 10) → true

public boolean makeBricks(int small, int big, int goal) {
  return small>=(((goal-5*big)<0)?goal%5:goal-5*big);
}

以下为为两种错误解法

public boolean makeBricks(int small, int big, int goal) {
  return (goal/5<=big)&&(goal%5<=small);
}
public boolean makeBricks(int small, int big, int goal) {
  big+=small/5;
  small = small%5;
  return (goal/5<=big)&&(goal%5<=small);
}

你可能感兴趣的:(JAVA实现makeBricks问题(codingbat))