2016-10-09 2 views
1

したがって、n桁の数字を含む最大の数字を見つけなければなりません。たとえば、n = 2の場合、最大数= 99です。これが私の答えです。Codefights:整数nを指定すると、正確にn桁の数字を返します。

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」を返しました。私がconsole.logに配列をしようとしました。

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]の代わりに空の配列があります。私のアレイがなぜ形成されないのですか?

+2

'n = num.length;'を削除します。その行は無意味で、関数に渡されたパラメータは '0'にリセットされて破棄されます。 – Xufox

+2

簡単なメソッド: 'function largestNumber(n){return Math.pow(10、n) - 1; } ' – Amit

+0

もちろん、' 99'はちょうど2桁の数字を含む最大の数字ではありません。 – georg

答えて

1

numを空の配列として定義した直後にn = num.length;を割り当てて、nを0にリセットします。ちょうどこの行をドロップし、あなたは大丈夫です。

+0

それは働いた。ありがとうございました。 – muzzo

1

なぜ(10^n)-1を使用しないのですか?

Math.pow(10、n)-1

+0

これは答えですか? (どのような質問に?)これはコメントですか? – Amit

関連する問題