Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   является ли сумма цифр данного четырехзначного числа четным числом (https://javascript.ru/forum/misc/72613-yavlyaetsya-li-summa-cifr-dannogo-chetyrekhznachnogo-chisla-chetnym-chislom.html)

vanya_xa 12.02.2018 15:34

является ли сумма цифр данного четырехзначного числа четным числом
 
help please

Написать программу для вывода на экран сообщения о том, является ли сумма цифр данного четырехзначного числа четным числом.
Примечание: При написании программы использовать разбиение целого числа на цифры с помощью операций / и %.
Исходные данные: целое число .
Данные, выводимые на экран: сообщение «Сумма цифр четная» или «Сумма цифр НЕчетная». (В задаче использовать условный оператор if.)

Nexus 12.02.2018 15:46

var number = prompt('Введите число N; 999 < N < ' + 1e4, Math.round(Math.random() * 1e4 + 1e3));
if (number === null || number.length != 4)
    alert('Incorrect input data');
else
    alert('Сумма цифр ' + ([
        number / 1000,
        number % 1000 / 100,
        number % 100 / 10,
        number % 10
    ].reduce((t, c) => t + Math.floor(c), 0) % 2 != 0 ? 'НЕ' : '') + 'четная');

vanya_xa 12.02.2018 17:00

Nexus спасибо
 
Nexus спасибо))

vanya_xa 12.02.2018 17:01

Nexus,
спасибо

Dilettante_Pro 12.02.2018 17:06

var n = 1234;
var s = n.toString().split('').reduce(function(sum, curr) {return sum + +curr;
}, 0);
alert((s % 2 != 0? 'НЕ' : '') + 'четная');

Nexus 12.02.2018 17:12

Dilettante_Pro, в задаче нужно было деление (мат. операция) использовать, поэтому в моем коде такие извращения.

laimas 12.02.2018 17:29

Цитата:

Сообщение от Nexus
поэтому в моем коде такие извращения

Делением по модулю проверять четность тоже извращение.
Кто такие задание придумывает, найти и руки вырвать. :)

Dilettante_Pro 12.02.2018 17:33

Nexus,
Да, у меня деления нет:cray:

Вариант с делением:victory:
var n = 1234;
var s = n.toString().split('').reduce(function(sum, curr) {return sum + curr / 1;
}, 0);
alert((s % 2 != 0? 'НЕ' : '') + 'четная');


Часовой пояс GMT +3, время: 08:53.