我目前正在研究一个寻找低限和高限的问题。这两个数字将定义要计算的数字字段。我有代码找到因素,但现在我需要做外部循环才能运行列表。我理解它需要做什么,但我对编码本身有困难。 (显然,你必须贯穿从低到高的数字列表)。任何帮助都会很棒。当我尝试更新“num”变量时,我遇到了麻烦,这是一个下限,或者是那个时候要考虑的数字。
function calculate(num){
var int = 2;
var num = document.getElementById("num").value;
var high = document.getElementById("high").value;
var str = num + ": ";
if (num <= high){
for (var i = 2; i <= num; i++){
if(num % i == 0){
str += i + ",";
}
num++;
}
document.getElementById("outputArea").innerHTML = str;
}
}
目前,它正在给我一个只有低数的因子输出。所以,如果我输入12,它会说:
12:2,3,4,6,12
是的,我正在尝试让程序通过每个数字,包括低和高,并考虑每一个。最后,它将在textarea标签中以多行显示。
像这样:
12:2,3,4,6,12, 13:1,13 等....
答案 0 :(得分:0)
我想你想做的是这样的事情:
var num = 12;
var high = 15;
var str = '';
while (num <= high) {
str += num + ": ";
for (var i = 1; i <= num; i++) {
if (num % i == 0) {
str += i + ",";
}
}
str += '\n';
num++;
alert(str);
}
显示:
12: 1,2,3,4,6,12,
13: 1,13,
14: 1,2,7,14,
15: 1,3,5,15,
代码中主要的直接问题是num ++的错误放置
一个更大的问题是让我能够理解你认为你将用这个算法实现的目标,但这完全是另一个故事。
有关详细信息,您可能需要阅读this one等文章。