所以我要完成这个任务,我必须将三个循环嵌套在一起,然后找出乘积== sum的所有三个数字。
例如:
123
1*2*3 = 6
1+2+3 = 6
这是我到目前为止尝试过的:
var summen = a + b + c;
var produktet = a * b * c;
for (var i = 100; i <= 100; i++) {
for (var j = 100; j <= 101; j++) {
for (var e = 100; e < 1000; e++) {
if (summen == produktet) {
pOutput.innerHTML += e + " ";
}
}
}
提前谢谢您,我们将不胜感激!
(我以为我需要使用if和else,但说实话我还是很固执)
答案 0 :(得分:0)
您可以从零迭代到999
,然后将字符串值作为数组。然后根据乘积检查总和,并存储等于的值。
const
sum = array => array.reduce((a, b) => a + b),
product = array => array.reduce((a, b) => a * b);
var i,
temp,
values = [];
for (i = 0; i < 1000; i++) {
temp = Array.from(i.toString().padStart(3, '0'), Number);
if (sum(temp) === product(temp)) {
values.push(temp.join(''));
}
}
console.log(values);
答案 1 :(得分:0)
如果要进行三个循环,请使用三个从0开始到9结束的循环,然后在内部循环中相加并相乘:
let output = [];
for (let a = 0; a < 10; a++) {
for (let b = 0; b < 10; b++) {
for (let c = 0; c < 10; c++) {
if (a * b * c === a + b + c) output.push("" + a + b + c)
}
}
}
console.log(output)