Codility – CountDiv JavaScript解决方案

我对JavaScript还是有点陌生,所以如果有人愿意解释如何解决这个小问题。

基本上,我是用不同的语言来解决codility训练任务。我在使用java脚本时遇到了一个小问题,浮点数。下面是我说的例子。有关任务是在 第三课, 任务一: CountDiv

在Java中,我的解决方案完美地工作,它的得分是100100。这里是代码。

class Solution {
    public int solution(int A, int B, int K) {

        int offset = A % K ==0?1:0;

        return (B/K) - (A/K) + offset;

    }
}

用java写的脚本代码得了75100分。

function solution(A, B, K) {
   var offset;

   if (A % K === 0) {
       offset=1;
   } else {
       offset=0;
   }

   var result =(B/K) - (A/K) + offset;

   return parseInt(result);
}

JavaScript解决方案在以下测试中失败:A=11,B=345,K=17(返回19,预期20)

我猜测其与JavaScript如何将浮点转换为整数有关?

如果有人能解释一下如何正确编写JS解决方案?

谅谅

解决方案:

使用 parseInt 在除法结果上。

当你使用除法运算符时,结果会被强制为浮点数,要使其成为整数,则使用 parseInt 上。(感谢 @ahmacleod)

function solution(A, B, K) {
    var offset = A % K === 0 ? 1 : 0;
    return parseInt(B / K) - parseInt(A / K) + offset;
}

给TA打赏
共{{data.count}}人
人已打赏
解决方案

无法在vue端显示express res.send()自定义的错误信息。

2022-4-22 5:00:18

解决方案

如何将IplImage转换为GLubyte数组?

2022-4-22 5:00:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索