В JavaScript существует несколько методов вычитания произведения и суммы цифр целого числа. На первый взгляд эта задача может показаться сложной, но не бойтесь! В этой статье мы рассмотрим пять простых способов добиться этого, дополненных примерами кода. Итак, возьмите свой любимый редактор кода и приступайте!
Метод 1: использование преобразования строк и итерации массива
Пример кода:
function subtractProductAndSum(num) {
let digits = String(num).split('').map(Number);
let product = digits.reduce((a, b) => a * b);
let sum = digits.reduce((a, b) => a + b);
return product - sum;
}
console.log(subtractProductAndSum(1234)); // Output: 14
Метод 2: использование оператора по модулю и деления
Пример кода:
function subtractProductAndSum(num) {
let product = 1;
let sum = 0;
while (num !== 0) {
let digit = num % 10;
product *= digit;
sum += digit;
num = Math.floor(num / 10);
}
return product - sum;
}
console.log(subtractProductAndSum(1234)); // Output: 14
Метод 3: рекурсивный подход
Пример кода:
function subtractProductAndSum(num) {
if (num < 10) {
return 0;
} else {
let digit = num % 10;
let remainingNum = Math.floor(num / 10);
let product = digit * subtractProductAndSum(remainingNum);
let sum = digit + subtractProductAndSum(remainingNum);
return product - sum;
}
}
console.log(subtractProductAndSum(1234)); // Output: 14
Метод 4: использование манипуляций с массивами
Пример кода:
function subtractProductAndSum(num) {
let digits = Array.from(String(num), Number);
let product = digits.reduce((a, b) => a * b);
let sum = digits.reduce((a, b) => a + b);
return product - sum;
}
console.log(subtractProductAndSum(1234)); // Output: 14
Метод 5: перебор цифр с помощью цикла For
Пример кода:
function subtractProductAndSum(num) {
let digits = [];
while (num > 0) {
digits.push(num % 10);
num = Math.floor(num / 10);
}
let product = 1;
let sum = 0;
for (let digit of digits) {
product *= digit;
sum += digit;
}
return product - sum;
}
console.log(subtractProductAndSum(1234)); // Output: 14
Вот и все! Пять простых методов вычитания произведения и суммы цифр в JavaScript. Независимо от того, предпочитаете ли вы манипуляции со строками, математические операции, рекурсию или манипуляции с массивами, эти методы выполнят свою работу. Не стесняйтесь экспериментировать с примерами кода и адаптировать их к вашим конкретным потребностям. Приятного кодирования!