Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

Codewars 練習 01

題目

加總比 number 小的數字中,3 或 5 的倍數。譬如 solution(10) 當中,3 和 5 的倍數有 3、5、6、9,總和是 23。可以參考練習連結

我的解法

function solution(number){
  let arr = [];
  for( var i = 0; i < number; i++ ){
    if( i % 5 === 0 || i % 3 === 0 ){
      arr.push(i);
    }
  }
  return arr.reduce( function(a,b){
    return a+b;
  }, 0);
}

投票評選最好的解法

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

改善點

在最好的作法中,直接針對 sum 的值進行運算,減少建立陣列後,再加總陣列的過程。

Eric Chuang
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料