2017-07-21 46 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();