0

これは、プロジェクト オイラーの問題 #17 用です。javascript で試しています。私にとって非常に奇妙なのは、回答で typeof() を呼び出すと、それが「数値」であると表示されることです。次に、結果を出力する関数を実行しようとすると、「NaN」が表示されます

1) 私のコードが機能するように修正する方法、および/または 2) この問題に対処するためのより洗練された方法 (存在することは間違いありません) を知っている場合は、建設的な批判を歓迎します!

var arrayOnes = [3,3,5,4,4,3,5,5,4];
var arrayTeens = [6,6,8,8,7,7,9,8,8];
var arrayTens = [3,6,6,5,5,5,7,6,6];
var arrayHundreds = [12,12,14,13,13,12,14,14,13];
var sum99 = 0;
var sum999 = 0;
var sum1000 = 11;

function sumsOneToNineNine() {
    for (i=1; i<=9; i++) {
        sum99 += ((arrayOnes[i]*9) + arrayTeens[i] + arrayTens[i]);
    }
}

function sumsOneToOneThousand() {
    sumsOneToNineNine();
    for (i=1; i<9; i++) {
    sum999 += arrayHundreds[i];
    }
    sum999 += 9*sum99 + sum999;
    sum1000 += sum999;
    console.log(sum1000);
}

sumsOneToOneThousand();
4

1 に答える 1