2017-07-06 25 views
1
var n = 25; 
  1. 聲明一個名爲「sum」的新變量,初始化爲0.一定要使用「var」關鍵字。如何在JavaScript中使用for循環將所有正整數添加到'sum'?

  2. 使用for循環將小於n的每個正整數加到sum中。

  3. 想出一個適用於所有n值的解決方案。

以上是要編寫代碼的條件。以下是我寫的。但是,我不斷收到一個錯誤,指出「所有小於2的整數之和是1」。我的代碼有什麼問題,或者我從錯誤的角度來看待這個問題?

var sum = 0; 
for (i = 0; i <= n; i++) { 
    if (i % 2 == 0) { 
    sum += i; 
    } else { 
    sum = sum; 
    } 
} 
+2

你只是添加偶數整數,而不是所有的整數。另外,你應該使用'i Barmar

+0

你爲什麼要做'mod'沒有這樣的說明在你的問題中 –

+1

'sum = sum'是什麼意思?你是否擔心如果你沒有提醒它,變量會忘記它的含義? – Barmar

回答

1

您不需要for循環中的條件。似乎那些是你想要偶數/奇數的條件。並且您應該遍歷索引1n-1,即最多但不包括ni < n。還要注意你被要求只對正數進行求和。技術上你不應該在開始時總計0,這意味着你應該從i = 1開始。但從數學上講,最後一件事實際上並沒有改變結果。

var n = 25; 
var sum = 0; 
for (i = 1; i < n; i++) { 
    sum += i; 
} 

另一種方法是也:

var n = 25; 
sum = Array.from(new Array(n), (x, i) => i).reduce((a, b) => a + b, 0); 

然而,國際海事組織它太「花哨」,而不是爲可讀,並開始以零技術總結。

0

它就這麼簡單,記得在for循環中使用var。

var n = 25; 
    var sum = 0; 
    for (var i = 0; i < n; i++) { 
     sum += i; 
    } 
相關問題