我需要从任何给定的数字中找到因子对的数量。 (看一下事物here的例子。区别在于我需要知道有多少对,而不仅仅是对子本身。)我真的不知道如何开始这个,我希望有人能够帮助我。
答案 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)的情况都有一对,所以这项工作就完成了。