Професионална програма
Loading...
+ Нов въпрос
willystyle avatar willystyle 2280 Точки
Best Answer

Няма смисъл да броиш цифрите, понеже тази проверка дали сумата се дели на броя на цифрите не гарантира, че цифрите са еднакви, примери 123, 321 .... биха давали true според тази логика. Просто например проверявай дали всички цифри са равни на първата.

function solve(num) {
    let sum = 0;
    let result = true;
    let digit = num % 10;
    while (num !== 0) {
        let currentDigit = num % 10;
        sum += currentDigit;
        if (currentDigit !== digit) {
            result = false;
        }
        num = Math.floor(num / 10);
    }
    console.log(result);
    console.log(sum);
}

а ето и едно по-кратко решение:

function solve(num) {
    let arr = num.toString().split('').map(Number);
    console.log([...new Set(arr)].length === 1);
    console.log(arr.reduce((a, b) => a + b));
}

 

0