为了账号安全,请及时绑定邮箱和手机立即绑定

While 循环不适合所有检查

While 循环不适合所有检查

喵喔喔 2023-04-26 17:22:27
我有一个编码问题,要求:我们想制作一排目标英寸长的砖块。我们有一些小砖块(每块 1 英寸)和大砖块(每块 5 英寸)。如果可以通过从给定的积木中进行选择来实现目标,则返回真。这比看起来要难一点,并且可以在没有任何循环的情况下完成。例子是:L511_makeBricks(3, 1, 8) → 真L511_makeBricks(3, 1, 9) → 错误L511_makeBricks(3, 2, 10) → 真。我写了以下代码:public boolean L511_makeBricks(int small, int big, int goal) {  int smalln;  int bign;  smalln = 0;  bign = 0;  while (smalln <= small){    while (bign<= big) {      if (smalln + bign*5 == goal){        return true;      }else{        bign = bign + 1;      }    }    bign = 0 ;    smalln = smalln + 1;  }  return false;}当我运行这个问题时,它说除了“其他”之外的每个测试运行都是正确的,它运行更多的例子来检查它是否正确。我看不出我的代码哪里出了问题。我的代码应该做的是遍历小砖块和大砖块的每种可能组合。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

尝试这个:


public boolean L511_makeBricks(int small, int big, int goal) {

    if (big * 5 + small < goal) {

        return false;

    }

    return goal % 5 <= small;

}


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 79 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信