How can I perform multiplication without the '*' operator?

前端 未结 30 1579
别跟我提以往
别跟我提以往 2020-12-01 01:47

I was just going through some basic stuff as I am learning C. I came upon a question to multiply a number by 7 without using the * operator. Basically it\'s like this

<
30条回答
  •  悲&欢浪女
    2020-12-01 02:46

    A JavaScript approach for positive numbers

    function recursiveMultiply(num1, num2){
        const bigger = num1 > num2 ? num1 : num2; 
        const smaller = num1 <= num2 ? num1 : num2; 
        const indexIncrement = 1;
        const resultIncrement = bigger;
    
        return recursiveMultiplyHelper(bigger, smaller, 0, indexIncrement, resultIncrement)
    }
    
    function recursiveMultiplyHelper(num1, num2, index, indexIncrement, resultIncrement){
        let result = 0;
        if (index === num2){
            return result;
        } 
    
        if ((index+indexIncrement+indexIncrement) >= num2){
            indexIncrement = 1;
            resultIncrement = num1;
        } else{
            indexIncrement += indexIncrement;
            resultIncrement += resultIncrement;
        }
    
        result = recursiveMultiplyHelper(num1, num2, (index+indexIncrement), indexIncrement, resultIncrement);
        result += resultIncrement;
        console.log(num1, num2, index, result);
    
        return result;
    }
    

提交回复
热议问题