Skip to content

Instantly share code, notes, and snippets.

@ahmet-cetinkaya
Created November 3, 2021 14:25
Show Gist options
  • Save ahmet-cetinkaya/d51d4063e0c0f97cb9486b5e0d5fbee8 to your computer and use it in GitHub Desktop.
Save ahmet-cetinkaya/d51d4063e0c0f97cb9486b5e0d5fbee8 to your computer and use it in GitHub Desktop.
Friendly Numbers - Javascript
// Helpers
const findDivisors = number => {
const divisors = [1];
for (let i = 2; i < number - 1; ++i) if (number % i === 0) divisors.push(i);
return divisors;
};
const sum = (...numbers) => numbers.reduce((a, b) => a + b);
// Friendly Numbers
const areFriendlyNumbers = (number, number2) =>
sum(...findDivisors(number)) === number2 && sum(...findDivisors(number2)) === number;
const checkFriendlyNumbers = (number, number2) =>
areFriendlyNumbers(number, number2)
? console.log(`${number} and ${number2} are friendly numbers.💚`)
: console.log(`${number} and ${number2} are friendly numbers.❌`);
// Test
const [number, number2] = [97041735, 97945785];
checkFriendlyNumbers(number, number2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment