如果Statement没有通过测试用例

时间:2016-12-12 22:03:01

标签: javascript if-statement

你好我正在进行一场代码争夺挑战,我花了很多时间试图解决这个问题,我的所有测试用例都通过了我给出的,我还有4个需要通过的隐藏测试用例,但是除了其中一个隐藏的测试用例外,我正在通过。我的大脑完全被摧毁了,我已经创建了我可以想到的所有测试用例,并且所有测试用例都通过了。这只是一个隐藏的案例,我试过类型检查一切似乎都在检查。

  孩子们得到了几块糖果。他们想要吃多少糖果   他们可以,但每个孩子必须吃与任何>完全相同数量的糖果。其他孩子。确定所有人都会吃掉多少块糖果   孩子们在一起个别的糖果不能分开。

     

示例

     

对于n = 3且m = 10,输出应为      糖果(n,m)= 9。

     

每个孩子将吃3件。所以答案是9。

     

输入/输出

     

[时间限制] 4000ms(js)

     

[输入]整数n

     

子女人数。

     

约束:      1≤n≤10。

     

[输入]整数m

     

糖果的数量。

     

约束:      2≤m≤100。

     

[输出]整数

     

孩子们会吃的糖果总数   尽可能多地吃,所有孩子都吃相同的食物。

代码



function candies(n, m) {
  if ((n > 10 || n < 1) || (m > 100 || m < 2)) {
    return 0;
  } else if (n > m) {
    return 0;
  } else if (n === m) {
    return m;
  } else if (n < m) {
    var candyKids = Math.round(m / n);
    return candyKids * n;
  };
};
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

以下是一些代码失败的测试用例:

Math.round

错误在哪里?

您正在使用Math.floor代替candies( 2, 3 ),这意味着您将在孩子之间划分后将部分糖果大于一半,所以对于m/n = 1.5,您确定每个孩子都是2个糖果,然后你围绕它并为每个孩子分配1个糖果,但这会产生比你开始时更多的糖果。在这种情况下,你需要改变地板(总是将部分糖果倒在地上)并且只给每个孩子提供def log(args: Array[Double]){ var x = Array.fill(20){math.random} if(x < 0.000001){ // error: value < is not a member of Array[Double] x == 0.000001} else{scala.math.log(x)} // error: type mismatch, it found Array[Double], required: double } 糖果。