Javascript:如何从任何给定的整数中查找因子对

时间:2017-09-08 20:05:13

标签: javascript

我需要从任何给定的数字中找到因子对的数量。 (看一下事物here的例子。区别在于我需要知道有多少对,而不仅仅是对子本身。)我真的不知道如何开始这个,我希望有人能够帮助我。

2 个答案:

答案 0 :(得分:0)

以下是如何做到这一点的想法:

var anyNumber = 6;
var count = 0;
var number1 = 0;
var number2 = anyNumber;
for (var i = 1; i < anyNumber; i++){
    if (anyNumber % i === 0){
        number1 = i;
      number2 = anyNumber / i;
    if (number2 >= number1){
      count++
    } else {
        break;
    }
  }
}
alert(count);

如果你不想要有唯一对的结果,那么就忽略:

if (number2 >= number1)

您可以将anyNumber更改为您想要的数字。上面的代码循环,直到你不会到达number2将小于number1(唯一对)的点。

答案 1 :(得分:0)

你已经得到了答案而不知道,

来自the page you mentionned的来源:

function doit(){
    a=document.factors.num.value;    //number to be evaluated
    checker=Math.sqrt(a);    //maximum divisor
    output="";

    for (x=1; x<=checker; x++)
    {
        c=a/x;
        d=Math.floor(c);
        // compare integer answer and division answer
        if(c==d){
        output = output + "factor pair = " +  c +  "," +  x  + "\n";
        }
    }
 document.factors.worksp.value=output;
}

甚至还有足够的评论来理解解决方案。 每次我们进入if(c == d)的情况都有一对,所以这项工作就完成了。