美文网首页
大数乘法

大数乘法

作者: 敲一手烂代码 | 来源:发表于2017-03-27 17:01 被阅读19次
static String bigNumMul(String num1,String num2) {
        char num1Chars[] = num1.toCharArray();
        char num2Chars[] = num2.toCharArray();
        int num1Ary[] = new int[num1Chars.length];
        for (int i = 0; i < num1Ary.length; i++) {
            num1Ary[i] = num1Chars[i] - '0';
        }
        
        int num2Ary[] = new int[num2Chars.length];
        for (int i = 0; i < num2Ary.length; i++) {
            num2Ary[i] = num2Chars[i] - '0';
        }
        
        int resAry[] = new int[num1Chars.length + num2Chars.length - 1];
        for (int i = 0; i < num1Ary.length; i++) {
            for (int j = 0; j < num2Ary.length; j++) {
                resAry[i + j] += num1Ary[i] * num2Ary[j];
            }
        }
        
        for (int i = resAry.length - 1; i > 0; i--) {
            resAry[i - 1] += resAry[i] / 10;
            resAry[i] = resAry[i] % 10;
        }
        int shouwei = resAry[0] / 10;
        resAry[0] = resAry[0] % 10;
        
        String res = shouwei == 0 ? "" : "1";
        for (int i = 0; i < resAry.length; i++) {
            res += resAry[i];
        }
        return res;
    }

相关文章

  • 大数求和

    大数求和 大数乘法

  • 大数乘法(Multiply Strings)

    大数乘法的算法 大数乘法的关键在于如何用字符串来模拟大数乘法。方法有如下几种:模拟普通的手算乘法、利用代数方法优化...

  • 大数

    大数乘法

  • 大数乘法

    大数乘法:

  • 大数乘法

    其实大数乘法就是在考虑大数加法的进位的同时,考虑字符串num1和字符串num2相乘时,每一位所在的位置,以及加法运...

  • 大数乘法

    后期需要实现分治算法,降低复杂度 测试代码 输出结果: 12345678998765 * 1234567 = 01...

  • 大数乘法

    普通大数乘法 普通大数乘法模拟两个数字竖式相乘,为了方便操作,数字的个位在数组的第0位,时间复杂度为O ( n² ...

  • 大数乘法

    算法爬坑之线性表大数乘法 include include include<...

  • 大数乘法

  • 大数乘法

    描述实现大数乘法,输入是两个字符串如n1 = '340282366920938463463374607431768...

网友评论

      本文标题:大数乘法

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