2017-07-21 48 views
-5

好的,我正在學習JavaScript,並且遇到了一個我無法解決的編碼挑戰問題。它給了我應該使用的格式的大綱/框架,並希望我能找到1-5000的奇數。JavaScript奇數分揀機編碼挑戰

與下面給出的基本功能出發,編寫一個函數調用sumOddNumbers將打印到控制檯,並從1返回所有的奇數的總和5000考慮使用一個循環,而不要忘了事後調用函數!

〜格式〜

function sumOddNumbers() { 
    var sum = 0; 

    // Your code here 

    console.log(sum); 
    return sum; 
} 
+0

歡迎來到StackOverflow!你嘗試過哪些代碼,遇到什麼困難?有關提問的提示,請參閱:[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) –

回答

0
let sum = 0; 

for (let i = 1; i < 5000; i += 2) { 
    sum += i; 
} 
0
let sum = 0; 
    for (let i = 0; i < 5000; i++) { 
     if (i % 2 !== 0) { 
     sum += i; 
     } 
    } 
0
function sumOddNumbers(max) { 
    let sum = 0; 

    for(let i = 1; i <= max; i+=2){ 
    sum += i; 
    } 

    console.log(sum); 
    return sum; 
} 

sumOddNumbers(5000); 
1

沒有必要爲一個循環:

console.log(5000**2/4);

如果5000是一個動態輸入你的函數,則公式如下:

function sumOddNumbers(n) { 
 
    return (n + n%2)**2/4; 
 
} 
 
console.log(sumOddNumbers(5000));

如果真的它必須與一個循環完成,根據模板(這是不是很漂亮BTW):

function sumOddNumbers() { 
 
    var sum = 0; 
 
    for (let i = 1; i <= 5000; i+=2) { 
 
     sum += i; 
 
    } 
 
    console.log(sum); 
 
    return sum; 
 
} 
 
sumOddNumbers();