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);