#javascript
#javascript
Вопрос:
Итак, я должен найти наибольшее число, содержащее n цифр. Например, если n= 2, то наибольшее число = 99. Это был мой ответ.
function largestNumber(n) {
var num = [];
n = num.length;
for(var i = 0; i < n; i ){
num[i] = "9";
};
var large = (num.join(''));
return large;
}
К сожалению, он вернул «0». Когда я попытался утешить.запишите массив.
function largestNumber(n) {
var num = [];
n = num.length;
for(var i = 0; i < n; i ){
num[i] = "9";
};
return num;
}
console.log(largestNumber(2));
Я получил пустой массив вместо [«9», «9»]. Почему мой массив не формируется?
Комментарии:
1. Удалить
n = num.length;
. Эта строка бессмысленна и отбрасывает параметр, который вы передали функции, путем его сброса0
.2. Более простой метод:
function largestNumber(n) { return Math.pow(10, n) - 1; }
3. Конечно,
99
это не самое большое число, содержащее ровно две цифры.4. @georg Что вы имеете в виду?
0xFF
?9e9
?5. @Bergi: да, присваивание довольно неаккуратно сформулировано.
Ответ №1:
Почему бы не использовать (10 ^ n) -1 ?
Math.pow(10,n) -1
Комментарии:
1. Это ответ? (На какой вопрос ??) Это комментарий??
Ответ №2:
Вы сбрасываете n
значение 0, присваивая ему n = num.length;
значение сразу после определения num
как пустой массив. Просто отбросьте эту строку, и все будет в порядке.
Ответ №3:
Использование n в качестве степени 10 и вычитание 1 из результата дает вам правильный ответ для любого целого значения n .
def largestNumber(n):
large = (10 ** n) -1
print(large)
largestNumber(2)
Ответ №4:
Я сделал это так:
function largestNumber(n) {
let number = "9";
for(let i=1;i<n;i ){
number = "9";
}
return parseInt(number);
}