Given a positive integer n, find the sum of all integers in the range [1, n] inclusive that are divisible by 3, 5, or 7.
Return an integer denoting the sum of all numbers in the given range satisfying the constraint.
提供一個數字:n,在1到n(包括n)找到能被3或5或7整除的數字,得到相加後的數字。
var sumOfMultiples = function(n) {
let result = 0;
for (let i = 1; i <= n; i++) {
if (i % 3 === 0 || i % 5 === 0 || i % 7 === 0) {
result += i;
}
}
return result;
};
用for迴圈檢視每個數字是否能整除,
用%運算子取餘數等於0則代表整除。
延伸:
如果不要只是3、5、7,讓使用者自訂,可以怎麼寫呢?
var sumOfMultiples = function(n, divideds) {
let result = 0;
for (let i = 1; i <= n; i++) {
if (divideds.some(divided => i % divided === 0)) {
result += i;
}
}
return result;
};
因divideds為array,所以可以使用some(),若在提供的函式中為是則回傳true,否則回傳false。