Функция возвращает последнюю цифру числа, но если число слишком большое то infinity, как обработать число чтобы не возвращалось infinity?
var lastDigit = function(str1, str2){
var result = Math.pow(+str1,+str2).toString().split('');
var elem = +result[result.length - 1];
console.log(elem);
};
lastDigit("4", "1"); // 4 => 4
lastDigit("4", "2"); // 16 => 6
lastDigit("9", "7"); // 4782969 => 9
lastDigit("10","10000000000"); //=> 0
Вы возводите первый аргумент в степень, выраженную вторым аргументом, и находите младший десятичный разряд результата. Выражаясь математически: xy (mod 10)
Это классическая задача теории чисел, имеющая широкое применение и готовые решения, не требующие вычислять отдельно x^y.
Простейший алгоритм основан на том факте, что (a * b) (mod m) == (a * (b (mod m))) (mod m)
function lastDigit(base, exponent) {
var c = 1;
for (i = 1; i <= exponent; i++) c = (c * base) % 10;
return c;
}
Существуют и другие более эффективные алгоритмы: Алгоритмы быстрого возведения в степень по модулю
Пытаюсь сделать так, чтобы выбрав пункты в меню, выводились метки для этого пункта, а все остальные метки удалялись, а если убираю пункт, то чтобы...
Не вышло сформировать четко и внятно суть проблемы, наверное по этому я в гугле и не смог найти более менее похожий вопрос, к сожалениюЕсть...
Здравствуйте! Есть html-таблица с информацией ( она сервере )Мне нужно по клику получить данные этой таблицы в свой html, уметь добавить новые...