gpt4 book ai didi

javascript - Codility - CountDiv JavaScript 解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:33 25 4
gpt4 key购买 nike

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

基本上,我使用不同的语言来解决可调节性训练任务。我在使用 java 脚本、 float 时遇到了小问题。这是我的意思的例子。有问题的任务在第 3 课task one: CountDiv

在 Java 中,我的解决方案运行完美,得分为 100/100。这是代码:

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 脚本编写的代码得分 75/100。

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 如何将 float 转换为整数有关?

如果有人愿意解释如何正确编写 JS 解决方案?

谢谢

最佳答案

对除法结果使用parseInt

当您使用除法运算符时,结果会被强制转换为 float ,要使其成为整数,请对其使用 parseInt。 (感谢@ahmacleod)

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

关于javascript - Codility - CountDiv JavaScript 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32734532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com