循环三位数,其中product == sum

问题描述 投票:2回答:2

所以我有这个任务,我必须将三个循环嵌套在一起,然后找出所有三位数字,其中product == 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但我基本上坚持说实话)

javascript
2个回答
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)

0
投票

您可以从零迭代到999并将stringed值作为数组。然后检查产​​品的总和,如果相等则存储值。

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);
© www.soinside.com 2019 - 2024. All rights reserved.