@m_pchelnikov

Как обработать большое число?

Задача - получить число. Код такой:
function sumPow() {
  var x = 0;
  for (var i = 1; i <= 200; i++) {
    x += Math.pow(i, i);
  }
//  var xArr = x.toString().split('');
//  var resultArr = xArr.slice(-10);
//  var result = resultArr.join('');
// return result
  return x
}
console.log(sumPow());

Выдает значение x=Infinity. На этом решение более общей задачи стопорится. А в целом задача - взять 10 последних символов в этом числе (реализация под комментариями). С небольшими степенями (i=9,10,11) работает правильно весь код.
Вопрос: как вывести это число?
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
AnnTHony
@AnnTHony
Интроверт
Работать с такими огромными числами нет смысла.
Проще обрабатывать только последние символы, т.е. для 100^100, например:
- 100*100 = 10000
- переводим 10000 в строку
- если длина '10000' > 10, то берем только последние 10 символов
- переводим эти символы снова в число
- запускаем цикл от 1 до 98 (100 - 2) и перемножаем это число на 100 (98 раз), каждый раз беря только последние 10 символов
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы