JSFiddle - React, Tailwind, and code Playground

by Mariya_Korotkova

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="style/style.css">
    <title>Document</title>
</head>
<body>
        
<script src="js/script.js"></script>
</body>
</html>

JavaScript

let arrFriendlyNumbers = [];
let arrFriendlyPair = [];

function getFriendlyNumbers(start, end) {
    if ((typeof (start) !== 'number') || (typeof (end) !== 'number') ||
        start > end || start < 0 ||
        Number.isInteger(start) != true || Number.isInteger(end) != true) {
        console.log(false);
    } else {
        for (let i = start; i <= end; i++) {
            let secondNum = getDivisorsSum(i);
            if (i < secondNum && getDivisorsSum(secondNum) == i) {
                arrFriendlyPair.push(i, secondNum);
                console.log(arrFriendlyPair);

                for (let j = 0; j < arrFriendlyNumbers.length; j++) {
                    arrFriendlyNumbers[j] = arrFriendlyPair;
                }
            }
        }
        console.log(arrFriendlyNumbers);
    }
    // console.log(arrFriendlyNumbers);
}

getFriendlyNumbers(1, 1211);

// получаем сумму делителей
function getDivisorsSum(num) {
    return getSum(getDivisors(num));
}

// получаем делители
function getDivisors(num) {
    let arr = [];
    for (let i = 1; i < num; i++) {
        if (num % i == 0) {
            arr.push(i);
        }
    }
    return arr;
}

// получаем сумму элементов массива
function getSum(arr) {
    let sum = 0;
    for (let i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    return sum;
}


// let a =[1, 2];
// // console.log(a);
// let b = [3, 4]; 
// let c = [];
// c[0] = a; 
// c[1] = b;
// console.log(c);