Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 寻找一个公式来检查一个数字是否是数字2或更大乘以数字3或更大的乘积_Javascript_Math_If Statement - Fatal编程技术网

Javascript 寻找一个公式来检查一个数字是否是数字2或更大乘以数字3或更大的乘积

Javascript 寻找一个公式来检查一个数字是否是数字2或更大乘以数字3或更大的乘积,javascript,math,if-statement,Javascript,Math,If Statement,我正在寻找一个公式,用在IF语句中,以确定给定的数字是否是2或更大的数字乘以3或更大的数字的乘积 例如,6是满足要求的最小数字(2 x 3)。7个不做,8个做(2x4),9个做(3x3),10个做(2x5),11个不做,12个做(2x6),等等 有什么想法吗 谢谢 要检查数字是否为2的倍数,请使用mod(%)运算符。 所以 要检查数字是否为2的倍数,请使用mod(%)运算符。 所以 听起来你在做什么。你应该看看维基百科的那篇文章——他们有几种算法可供选择 希望有帮助 听起来像是你在做什么。你应该

我正在寻找一个公式,用在IF语句中,以确定给定的数字是否是2或更大的数字乘以3或更大的数字的乘积

例如,6是满足要求的最小数字(2 x 3)。7个不做,8个做(2x4),9个做(3x3),10个做(2x5),11个不做,12个做(2x6),等等

有什么想法吗


谢谢

要检查数字是否为2的倍数,请使用mod(%)运算符。 所以


要检查数字是否为2的倍数,请使用mod(%)运算符。 所以

听起来你在做什么。你应该看看维基百科的那篇文章——他们有几种算法可供选择

希望有帮助

听起来像是你在做什么。你应该看看维基百科的那篇文章——他们有几种算法可供选择


希望有帮助

找到n的最小因子至少为2,然后找到大于该值且大于3的最小因子,一旦找到,则返回true

function myFunction(n) {
    if (isNaN(n) || !isFinite(n) || n%1 || n<6) return false;
    var m = Math.sqrt(n);
    for (var i = 2; i <= m; i++) {
        if (n % i == 0) {
            var divided = n / i;
            for (var j = (i > 2) ? i : 3; i <= n / i; i++) {
                if (divided % j == 0) {
                    return true;
                }
            }
        }
    }
    return false;
}
函数myFunction(n){

如果(isNaN(n)| |!isFinite(n)| | n%1 | | n找到n的最小因子,该因子至少为2,然后找到大于该因子且大于3的最小因子,一旦找到,则返回true

function myFunction(n) {
    if (isNaN(n) || !isFinite(n) || n%1 || n<6) return false;
    var m = Math.sqrt(n);
    for (var i = 2; i <= m; i++) {
        if (n % i == 0) {
            var divided = n / i;
            for (var j = (i > 2) ? i : 3; i <= n / i; i++) {
                if (divided % j == 0) {
                    return true;
                }
            }
        }
    }
    return false;
}
函数myFunction(n){

如果(isNaN(n)| |!isFinite(n)| | n%1 | | nx需要是两个因子的倍数…(y,z)

flag=false;(布尔值,找到时设置);
对于(变量y=2;y对于(var z=3;zx需要是两个因素的倍数…(y,z)

flag=false;(布尔值,找到时设置);
对于(变量y=2;y
对于(var z=3;z,没有简单的if语句可以识别大于5的非素数:)@Gerrat有没有一种方法可以在不确定其素数的情况下测试它?根据您的示例,在您的需求中,“number”应该是“integer”。没有简单的if语句可以识别大于5的非素数:)@Gerrat有没有一种方法可以在不确定其素数的情况下对其进行测试?根据您的示例,在您的需求中,“number”应该是“integer”。不太确定到底需要什么,抱歉英语不是我的第一语言,也许再详细一点可能会帮助我更好地找到一个好的解决方案?应该是
if((x%2==0)|(x%3==0))
否则您是对的,这不是他所需要的。对于例如35,它将返回false(但必须为true),对于例如2或3,它将返回true(必须为false)35如何返回真值?它不是2或3的倍数,除非我答错了问题:Sit不是问它是2或3的倍数,而是问它是否有一个至少为2的因子和另一个至少为3的因子。我不太确定到底需要什么,抱歉英语不是我的第一语言,也许再详细一点可能会有所帮助最好让我想出一个好的解决方案?如果((x%2==0)|(x%3==0))应该是
否则你是对的,这不是他需要的。它将返回false,例如35(但必须是true),返回true,例如2或3(必须是false)35如何返回真值?它不是2或3的倍数,除非我答错了问题:Sit不是问它是2或3的倍数,而是问它是否有一个至少为2的因子,另一个至少为3的因子。你误解了他的问题不是问它是2或3的倍数,而是问它是否有一个至少为3的因子如果(x%2==0)
,那么至少2和另一个至少是3的因子就相当于
,因为
x%2
要么是0要么是1。哦,对了,那太愚蠢了。它现在能起作用吗?看起来不是一个非常有效的方法……它应该能起作用,但效率非常低;最好有一个循环
(var y=2;yYou误解了他的问题不是问它是2或3的倍数,而是问它是否有一个至少为2的因子,另一个至少为3的因子。你写的东西相当于
if(x%2==0)
,因为
x%2
要么是0要么是1。哦,对了,那太愚蠢了。它现在能工作吗?看起来不是一个非常有效的方法……它应该能工作,但效率非常低;最好是有一个单循环
(var y=2;y实际上,现在我想起来,你可能不需要第二个测试。任何大于6的组合数都会满足这个属性。实际上,现在我想起来,你可能不需要第二个测试。任何大于6的组合数都会满足这个属性。实际上,似乎所有大于5的非素数都满足这个标准a、 所以,使用这个guys方法来识别素数,我可以写我的IF语句:Nice…不认为需要测试素数,但显然,我发现,所有大于5的非素数都符合标准。所以,使用这个guys方法来识别素数,我可以写我的IF语句:Nice。。。不认为测试素性是必要的,但显然是必要的
flag = false; (boolean. set when found);
for(var y = 2; y < x; y++){
   for(var z = 3; z <= (x/y); z++){
       if(y*z == x){
          flag = true;
       }
   }  
}
if(flag){
  now we know that x meets the requirements
}