我正在尝试编写以下问题的解决方案,但遇到了一些困难:
如果我们列出所有低于10的自然数,这些自然数是3或5的倍数,则得到3、5、6和9。这些倍数的总和为23。
完成解决方案,使其返回传入的数字以下3或5的所有倍数之和。
注意:如果数字是3和5的倍数,则只需将其计数一次。
这是我拥有的代码:
(defcustom dse/package-menu/package-column-width 32
"Column width of package name in list-packages menu."
:type 'number :group 'package)
(defcustom dse/package-menu/archive-column-width 12
"Column width of archive name in list-packages menu."
:type 'number :group 'package)
(defun dse/package-menu/fix-column-widths ()
(let ((tlf (append tabulated-list-format nil)))
(setf (cadr (assoc "Package" tlf)) dse/package-menu/package-column-width)
(setf (cadr (assoc "Archive" tlf)) dse/package-menu/archive-column-width)
(setq tabulated-list-format (vconcat tlf))))
(add-hook 'package-menu-mode-hook #'dse/package-menu/fix-column-widths)
谢谢!
答案 0 :(得分:0)
您只需要进行一次测试:如果满足i % 3 === 0 || i % 5 === 0
,则将i
添加到sum
。
确保不要隐式创建全局变量; i = 0
将在严格模式下引发错误。首次使用变量时,务必声明它们。
function solution(number) {
var sum = 0;
for (let i = 0; i < number; i++) {
if (i % 3 === 0 || i % 5 === 0) {
sum += i;
}
}
return sum;
}
console.log(solution(10));
您还需要将分号放在for
循环声明中,而不要放在逗号中。