Всем добрый день. Решаю задачи в учебнике JavaScript. Подвис на одной: "Сделайте функцию getFreindly, которая будет находить пары дружественных чисел в заданном промежутке и возвращать их в виде двухмерного массива следующего вида: [ [220, 284], [1184, 1210], [2620, 2924] ].
С помощью созданной функции найдите все пары дружественных чисел на промежутке от 1 до 3000."
Вот моё решение:
function getOwnDivisors (num) {
let arr = [];
for (let i = 0; i < num; i++) {
if (num % i == 0) {
arr.push(i);
}
}
return arr;
}
function getSum (arr){
let sum = 0;
for (let elem of arr) {
sum += Number(elem);
}
return sum;
}
function isFrendly (num1, num2) {
let sum1 = getSum(getOwnDivisors(num1));
let sum2 = getSum(getOwnDivisors(num2));
return (num1 == sum2 && num2 == sum1);
}
function getFrendly () {
let arr = [];
for (let i = 0; i <= 3000; i++) {
arr[i] = [];
for (let j = 0; j <= 3000; j++) {
if(i == getSum(getOwnDivisors(j))) {
arr[i][j] = j;
}
}
}
console.log(arr);
}
getFrendly();
Интересует только функция getFrendly (т.к. остальные вроде рабочие). Не понимаю почему она не работает. Может подскажет кто-нибудь?