0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 2
1

Найти произведение цифр заданного четырехзначного числа.

03.12.2018, 16:30. Показов 5874. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
найти произведение цифр заданного четырехзначного числа в JavaScript. не знаю как это сделать...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2018, 16:30
Ответы с готовыми решениями:

Найти сумму цифр заданного четырёхзначного числа N превосходит произведение цифр этого же числа на 1
Помогите решить срочно, буду очень признателен: 1.сумма цифр заданного четырёхзначного числа N...

Найти сумму цифр заданного четырехзначного числа N превосходит произведение цифр этого же числа
нужна программа которая проверяет следующий факт: Сумма цифр заданного четырехзначного числа N...

Найти произведение цифр заданного четырехзначного числа
доброго времени суток! помогите составить программу, которая решит эту задачу. спасибо Найти...

Найти произведение цифр заданного четырехзначного числа
Написать программу, которая находит произведение цифр заданного четырехзначного числа. У меня...

10
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
03.12.2018, 16:39 2
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        let num = +prompt("Введите четырехзначное число");
        alert(mul(num));
 
        function mul(num) {
            if (num > 999 && num < 10000) {
                let s = num.toString();
                return s[0] * s[1] * s[2] * s[3];
            }
        }
    </script>
</body>
</html>
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
03.12.2018, 18:29 3
Natali2612, Вот так по короче:
Javascript
1
2
3
4
5
6
let num = 12345; // сюда воодим любое число
let res = 1;
num.toString().split('').forEach(function(el) {
    res *= el;
});
console.log(res); // вывод результата
Добавлено через 27 секунд
И работает не толко с 4х значными, а с любыми хоть 17367182
0
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
04.12.2018, 09:53 4
Цитата Сообщение от outZoNe Посмотреть сообщение
Вот так по короче
Как раз для таких целей и есть array.reduce()
0
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
04.12.2018, 11:04 5
j2FunOnly, Если вы про такой способ:
Javascript
1
2
let num = 12345; // сюда вводим любое число
console.log(num.toString().split('').reduce((a, b)=>a * b));
То да, так будет еще короче, но судя по кол-ву вопросов ТС(а). Скорее всего это студент у которого сейчас сессия и вот он зарегался на этом форуме, что бы за него все сделали. И если он покажет преподу решение с помощью array.reduce(), то препод поймет, что ТС скачал это решение, а не сам сделал. Поэтому все же для ТС я бы рекомендовал использовать решение из моего первого ответа.... А так да, вы правы через array.reduce() правильнее всего будет и короче

Добавлено через 6 минут
Natali2612, Если вообще угарать, то можно и так:
Javascript
1
 console.log((12345).toString().split('').reduce((a, b) => a * b));
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
04.12.2018, 11:45 6
Цитата Сообщение от outZoNe Посмотреть сообщение
Вот так по короче
Раз пошла такая пьянка, тогда
Javascript
1
console.log(eval((12345).toString().split('').join('*')));
Еще вариант без перевода в строку

Javascript
1
2
3
4
5
function mul(num) {
    let prod = 1
    do{ prod *= num % 10 } while (num = Math.floor(num / 10))
    return prod
}
1
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
04.12.2018, 12:02 7
renat_dmitriev, Так то способы прикольные, но конкатенировать числа в строку через символ "*", а потом эту строку выполнять через eval. Я хз как это на скорости скажется ))
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
04.12.2018, 13:05 8
amr-now, renat_dmitriev, принудительно преобразовывать строку в число и обратно вовсе не требуется
яваскрипт сам с этим прекрасно справится:
Javascript
1
2
3
4
5
6
7
let num = prompt("Введите четырехзначное число"); // унарный плюс НЕ НУЖЕН
        alert(mul(num));
 
        function mul(num)
       {
        if (num > 999 && num < 10000) return num[0] * num[1] * num[2] * num[3];
        }
3
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
04.12.2018, 13:11 9
Цитата Сообщение от outZoNe Посмотреть сообщение
Я хз как это на скорости скажется ))
Javascript
1
2
3
4
5
6
7
8
9
10
11
function checkJoin(size) {
 
   var numbers = new Array(size).fill(1).map((_,i)=>i+1);
   console.time('1');
   var str = numbers.join('*');
   console.timeEnd('1');
}
 
checkJoin(1000000);
 
// 1: 660.054931640625ms
То есть массив из миллиона чисел конкатенируется со вставкой символа полсекунды
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 2
05.12.2018, 14:40  [ТС] 10
Спасибо за помощь. и да, это действительно сессия . такого количества ответов даже не ожидала. до этого задания, справлялась. но тут как то не пошло. да и не понимаю зачем на факультете экономики все так сложно . спасибо за понимание!!!
0
8 / 5 / 4
Регистрация: 18.02.2014
Сообщений: 409
05.12.2018, 15:43 11
Natali2612,
Цитата Сообщение от Natali2612 Посмотреть сообщение
да и не понимаю зачем на факультете экономики все так сложно
Скорее всего потому что ты учишься в УНИВЕРСИТЕТЕ, а не в ИНСТИТУТЕ
0
05.12.2018, 15:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.12.2018, 15:43
Помогаю со студенческими работами здесь

Найти произведение цифр заданного четырёхзначного числа
Найти произведение цифр заданного четырёхзначного числа Дублирование тем запрещено правилами...

Найти произведение цифр заданного четырехзначного числа
Можно ли написать простую прогу на с++ без лишних операторов. mod и div eще не знаю. или нужно...

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

Найти произведение цифр заданного четырехзначного числа.
Найти произведение цифр заданного четырехзначного числа.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru