美文网首页
算法:两数乘积,不能用乘号和循环

算法:两数乘积,不能用乘号和循环

作者: 大牛之路 | 来源:发表于2018-08-17 16:36 被阅读48次

    算法

    给定两个数相乘,不能使用乘号或者循环

    解法 1:

    使用递归,a*b = a+a+a+...(b个a)

    int mul(int a, int b){
        if (a == 0 || b == 0)
            return 0;
        if (b == 1)
            return a;
        if (a == 1)
            return b;
        return a + mul(a, b - 1);
    }
    int mult(int a,int b){
        int m = mul(a, abs(b));
        return (b<0)?(-m):m;
    }
    

    解法 2:

    没说不能用除非呀,对不对!!!!

    int mult2 (int a,int b){
    
        return b != 0 ? a/(1.0/b):0;
        
    }
    

    相关文章

      网友评论

          本文标题:算法:两数乘积,不能用乘号和循环

          本文链接:https://www.haomeiwen.com/subject/snrtiftx.html