我的一个朋友采用从1到n的数字序列(其中n> 0)
在该序列中,他选择两个数字a和b
他说a和b的乘积应等于序列中所有数字的和,不包括a和b
给定数字n,您能告诉我他从序列中排除的数字吗?
已经从Code Wars找到了该Kata的解决方案,但是当我运行它时,它在编辑器中超时(12秒后);还有什么想法我应该如何进一步优化嵌套的for循环或删除它?
function removeNb(n) {
var nArray = [];
var sum = 0;
var answersArray = [];
for (let i = 1; i <= n; i++) {
nArray.push(n - (n - i));
sum += i;
}
var length = nArray.length;
for (let i = Math.round(n / 2); i < length; i++) {
for (let y = Math.round(n / 2); y < length; y++) {
if (i != y) {
if (i * y === sum …Run Code Online (Sandbox Code Playgroud)