如何解决检查数字是否可以被 JS 中的另一个数字整除
我对这个东西很陌生,我正在解决一系列问题,但我已经迷失在这个问题上。
我必须验证一个数是否可以被另一个数整除,答案必须是对还是错。
我得到了他的
function solucao(numero,x) {
solucao(numero % x);
if (solucao === 0) {
resultado = true;
}else{
resultado = false;
}
}
但是我收到运行时错误并且看不到缺少什么。
解决方法
所以你想检查一个数字 numero
是否能被 x
整除。模运算符可以提供帮助。试试这个:
function solucao(numero,x){
if (numero % x == 0){
return true
}
else {
return false
}
}
,
function solucao(numero,x) {
let resultado;
if (numero % x === 0) {
resultado = true;
}else{
resultado = false;
}
return resultado;
}
我认为您在某些时候会感到困惑。您正在调用该函数,在其内部。你应该这样做,并声明结果变量。
,我相信这会有所帮助:
function checkIfDivided(){
// in this section the variables come from an html document
var number=parseInt(document.getElementById("number").value);
var divisor=parseInt(document.getElementById("divisor").value);
if(number%divisor==0)
return true;
else return false;
}
or
function checkIfDivided(number,divisor){
//in the function the variable are given as parameters
if(number%divisor==0)
return true;
else return false;
}
,
在我看来有两件事:
-
您尚未声明您的 'resultado' 变量(这可以很简单,只需键入不带单引号的 'let resultado;'
-
您没有在 if/else 语句之后返回您的 'resultado' 变量
现在,您的函数正在使用一个未声明的变量并且不返回任何内容,所以这就是您收到错误的原因。解决以上两个步骤,你应该很好! :)
,您清楚地了解模数运算符是要走的路。使用它我们发现 12
可以被 3
整除,因为 12 % 3
返回零。零被认为是“假”值,而任何其他数字都被认为是“真”值。
鉴于此,如果 12 % 3
返回“falsey”值(零),我们不能直接使用结果。但是,如果我们可以将假“翻转”为真呢?我们可以使用 not
运算符 (!
)。
对数学问题的结果使用 !
运算符需要在数学问题本身周围使用括号。
所以代码中的问题变成了 (12 % 3)
并用 !
运算符“翻转”它成为
!(12 % 3)
。
下面证明了这一点:
-
console.log(!(12 % 3))
--> 记录为真 -
console.log(!(12 % 5))
--> 记录错误
它的功能实现很简单,也得到了验证:
-
console.log(isDivisible(12,3));
--> 记录为真 -
console.log(isDivisible(12,5));
--> 记录错误
console.log(!(12 % 3))
console.log(!(12 % 5))
function isDivisible(number,x){
return !(number % x);
}
console.log(isDivisible(12,3));
console.log(isDivisible(12,5));
还有另一种方法可以做到这一点,我认为它更简洁。
console.log(Number.isInteger(10/2)) //true
console.log(Number.isInteger(4/2)) // false
//a must be greater than b
function check(a,b) {
console.log(Number.isInteger(a/b))
return Number.isInteger(a/b)
}
check(10,5)//true
check(8,3)//false
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。