everycode icon indicating copy to clipboard operation
everycode copied to clipboard

2014年11月28日 D6

Open nunnly opened this issue 11 years ago • 7 comments

/* 根据传入的参数,返回在此参数之前的所有自然数是3或5的倍数的和。
 * e.g. solution(10) //=> 3 + 5 + 6 + 9 = 23
 * param1 Number
 * return Number
 */
 function solution(num){

 }

nunnly avatar Nov 28 '14 02:11 nunnly

function solution(num){ var res = 0, i;

for (i = 3; i <= num; i++) {
    if (i%3 === 0 || i % 5 === 0) {
        res += i;
    }
}

return res;

}

yuersmall avatar Nov 28 '14 02:11 yuersmall

function solution(num) {
    return new Array(num).join("|").split("").reduce(function(arr) {
        return (arr.push(arr.length + 1), arr);
    }, []).reduce(function(res, n) {
        return (n % 3 && n % 5) ? res : res + n;
    }, 0);
}

QAQ 沙发没了

XadillaX avatar Nov 28 '14 02:11 XadillaX

表示不会高端的写法。刚才本来还要判断判断参数类型的。谁知道一下就提交了。

yuersmall avatar Nov 28 '14 02:11 yuersmall

 function solution(num){
    var sum =0;
    for(var i=0;i<num;i++){
        if(i%3==0 || i%5==0){
            sum+=i;
        }
    }
    return sum
 }

nunnly avatar Nov 28 '14 02:11 nunnly

function solution(num){
    var count = 0;
    if(var i =0; i < num; i++){
        if((i % 3) == 0 || (i % 5) == 0){
            count + = i;
        }
    }
    return count;
}

cpics avatar Nov 28 '14 02:11 cpics

@XadillaX 啊,我看不懂。 : (

think2011 avatar Nov 28 '14 02:11 think2011

@think2011 new Array(长度) 生成的数组不知道什么原因很特殊,虽然里面有长度个 undefined,但是通过 reduce 遍历不出来,所以我只能通过 joinsplit 重新分割数组成所有元素都是空字符串的长度数组。然后下一个 reduce 是生成一个长度为 num - 1 的从 1 开始的数组。最后一个 reduce 遍历这个数组,每逢 3、5 倍数就直接返回当前和,否则返回当前和加上当前数字。

XadillaX avatar Nov 28 '14 02:11 XadillaX