gpt4 book ai didi

javascript - 在 Javascript 中获取没有模 (%) 运算符的余数,占 -/+ 符号

转载 作者:搜寻专家 更新时间:2023-11-01 05:28:31 27 4
gpt4 key购买 nike

对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num1 上的任何一个符号,如果 num2 为负数,我还需要返回一个正数——这让我大吃一惊……:)任何清晰度将不胜感激!我并不是在这里寻找直接的答案,更多的是我似乎遗漏了一些明显的东西......也许我需要一种新方法?

    function modulo(num1, num2) {
if (num1 === 0) {
return 0;
}
if (num2 === 0 || isNaN(num1) || isNaN(num2)) {
return NaN;
}
if (num1 < num2) {
return num1;
}
if (num1 > 0 && num2 > 0) {
var counter = num1;
while (counter >= Math.abs(num2)) {
counter = counter - num2;
}
return counter;
}
}
var output = modulo(25, 4);
console.log(output); // 1

最佳答案

如果您考虑计算模数的数学过程,您可能会明白如何在不必求助于一堆 case 语句的情况下执行此操作。相反,你只是在计算余数:

给定 2 个数字 a 和 b,您可以通过执行以下操作计算 mod(a,b):

q = a / b;  //finding quotient (integer part only)
p = q * b; //finding product
remainder = a - p; //finding modulus

利用这个思路,应该可以迁移到JS中。你说你不是在寻找直接的答案,所以这就是我要说的!

编辑:这是代码,正如我在评论中所说,它正是我在上面发布的伪代码:

function modulo(a,b){
q = parseInt(a / b); //finding quotient (integer part only)
p = q * b; //finding product
return a - p; //finding modulus
}

这将返回与使用 % 完全相同的值

关于javascript - 在 Javascript 中获取没有模 (%) 运算符的余数,占 -/+ 符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42700673/

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