【发布时间】:2016-07-27 09:00:00
【问题描述】:
我有一个测试,我需要在不使用乘法的情况下编写两个数字相乘的代码,
代码如下,
function multiply(num,toNum){
var product = 0;
for(var i = 1; i <= toNum; i++){
product += num;
}
return product;
}
console.log(multiply(2,5));
输出是
rahul@rahul:~/myPractise/Algo$ node MultiplyWithoutLoop.js
10
rahul@rahul:~/myPractise/Algo$
以上代码是否令人满意或需要改进的地方。
能否应用更好的逻辑。
嘿,
我用递归解决了,
这是代码,
function multiply01(num,toNum){
var product = num;
return (toNum >= 1) ? product + multiply01(product,--toNum) : 0;
}
【问题讨论】:
-
如果这能正常工作,你最好在codereview.stackexchange.com 上发布它,但一种更好的方法是在循环中使用较小的数字
-
我投票结束这个问题,因为它是关于代码审查的,因为它是关于代码审查的——我们可以把它移到那里吗?
标签: javascript data-structures logic