Skip to content

Instantly share code, notes, and snippets.

@smart-onion
Last active May 12, 2025 10:47
Show Gist options
  • Save smart-onion/606a8b12656314ca19c19b4e97af4a50 to your computer and use it in GitHub Desktop.
Save smart-onion/606a8b12656314ca19c19b4e97af4a50 to your computer and use it in GitHub Desktop.
JS2
// Task 1
const comparer = function (a, b){
if(a > b) return 1;
else if(a < b) return -1;
else return 0;
}
console.log(comparer(1, 2));
// Task 2 factorial
const factorial = (() => {
const cash = {};
return function a(number) {
if(number === 0) return 1;
if(cash[number]) return cash[number];
cash[number] = number * a(number - 1);
return cash[number];
};
})();
let factorial1 = factorial(100);
const factorial2 = (number) => {
if(number === 0) return 1;
else return number * factorial2(number - 1);
}
console.log(factorial2(1000));
// Task 3
function mergeNumbers(...numbers){
return numbers.reduce((acc, cur, index) => {
return acc + cur*Math.pow(10, numbers.length - index -1);
}, 0);
}
console.log(mergeNumbers(9,8,7,7));
// Task 4
const square = (a, b = a) => a * b;
console.log(square(5, 10));
// Task 5
function absolutNumber(number){
let dividers = [];
for(let i = 0; i < number; i++){
if(number % i === 0) dividers.push(i);
}
return dividers.reduce((acc, cur) => acc + cur, 0) === number;
}
console.log(absolutNumber(29));
// Task 14
const isSimpleNumber = (number) => {
for(let i = 2; i < number; i++){
if(number % i === 0) return false;
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment