0
這是項目歐拉問題#17,我試圖在JavaScript中。對我來說超級怪異的是,如果我在我的回答中調用typeof(),它會說這是一個「數字」。然後,如果我嘗試運行打印結果的函數,我會得到「NaN」Euler 17 Javascript
如果您知道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();
嘛,'NaN'是一個數值,根據規範,IEEE 754標準。 –
'NaN'是*每種*語言的數字類型。爲什麼它在Javascript中「很奇怪」? – Esailija
我剛剛意識到它應該是i-1而不是我的每一件事情,以解釋從0開始的索引,而不是1。現在我得到一個#答案,但它不是正確的答案。 –