これは、プロジェクト オイラーの問題 #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();