我可以不使用乘法运算符执行乘法吗*&引用;在JavaScript中
我需要在JavaScript中将两个数字相乘,但我需要不使用乘法运算符“*”。可能吗我可以不使用乘法运算符执行乘法吗*&引用;在JavaScript中,javascript,Javascript,我需要在JavaScript中将两个数字相乘,但我需要不使用乘法运算符“*”。可能吗 function a(b,c){ return b*c; } // note:need to do this without the "*" operator 这是来自一些编程难题还是采访问题 由于乘法是重复加法,您可能需要一个循环,将其中一个因子添加到另一个因子中每个计数的结果中 是的。因为乘法是多次进行的加法。也有方法的有意义的签名,而不是使用单个字母 function multiply(num,
function a(b,c){
return b*c;
} // note:need to do this without the "*" operator
这是来自一些编程难题还是采访问题 由于乘法是重复加法,您可能需要一个循环,将其中一个因子添加到另一个因子中每个计数的结果中 是的。因为乘法是多次进行的加法。也有方法的有意义的签名,而不是使用单个字母
function multiply(num, times){
// TODO what if times is zero
// TODO what if times is negative
var n = num;
for(var i = 1; i < times; i++)
num += n; // increments itself
return num;
}
函数乘法(num,times){
//如果时间为零怎么办
//TODO如果时间为负怎么办
var n=num;
对于(变量i=1;i
您需要能够处理负数和零。上述其他答案在这里没有帮助。有不同的方法。一种相对混乱的方式可能是ifs:
function multiply(num1, num2) {
var sum = 0;
for (var i = 0; i < Math.abs(num2); i++) {
sum += num1;
}
if (num1 < 0 && num2 < 0) {
return Math.abs(sum);
} else if (num1 < 0 || num2 < 0 ) {
return -sum;
} else {
return sum;
}
}
函数乘法(num1,num2){
var总和=0;
对于(var i=0;i
a=(b,c)=>Math.round(b/(1/c))
字符串的repeat()方法可用于求两个数字的乘法
var a = 3;
var b = 4;
console.log("c".repeat(a).repeat(b).length)
log: 12
它重复c,a次=>'ccc',然后整个字符串b次=>'cccc',最后一个字符串的长度将是a*b
这类似于循环方法。
此方法仅限于正数和整数。
函数乘法(num1,num2){
设num=0;
//检查一个或两个NUM是否为负值
让flag=false;
如果(num1<0&&num2<0){
flag=true;
//两个数字都是正数
num1=数学绝对值(num1);
num2=数学绝对值(num2);
}否则如果(num1<0 | | num2<0){
flag=false;
//将负数设为正数并保持为num2
if(num1<0){
温度=num2;
num2=数学绝对值(num1);
num1=温度;
}否则{
num2=数学绝对值(num2);
}
}否则{
flag=true;
}
设乘积=0;
while(num多功能(a、b){
设和=0;
for(设i=0;i
不正确5*5=25;在您的情况下,它将在第一步5+5=10;以及在第二步骤10+10上@kpblc哦,是的。谢谢经过编辑,现在我可以向您推+1)解释否决票对我和我的代码都有好处,因为两者都得到了改进。@ShaikRasool为什么您认为我知道它?虽然此代码可能会回答问题,但提供了有关此代码回答问题的原因和/或如何提高其长期价值的其他上下文。dferenc,我相信它非常简单,除了可能的round
方法-我使用它是为了得到理智和准确的结果,例如(因为0.1+0.2!==0.3),这确实是一个很好的解决方案,我没有标记它或任何东西(注:只有代码的答案总是去查看队列…)。然而,我想对于刚开始学习javascript的人来说,即使是一个简单的箭头函数也不是一件小事。对于不熟悉/不熟悉倒数的人来说,这也不是一件小事。请在代码中添加更多的上下文,你想实现什么?什么事情没有发生?
function multiple(a, b) {
let sum = 0;
for (let i = 0; i < Math.abs(b); i++) {
sum += Math.abs(a);
}
if (a < 0 && b < 0) {
return Math.abs(sum);
} else if (a < 0 || b < 0 ) {
return -sum;
} else {
return sum;
}
}