zoukankan      html  css  js  c++  java
  • 大数乘法

    public static String mul(String str1, String str2)
        {
            int minLength = -1;
            int maxLength = -1;
            if (str1.length() > str2.length())
            {
                minLength = str2.length();
                maxLength = str1.length();
            }
            else
            {
                minLength = str1.length();
                maxLength = str2.length();
                String temp = str1;
                str1 = str2;
                str2 = temp;
            }
            int[] cc = new int[maxLength + minLength];
            int maxIndex = -1;
            for (int i = minLength - 1; i >= 0; i--)
            {
                char c2 = str2.charAt(i);
                int cIndex = minLength - 1 - i;
                int dx = 0;
                for (int j = maxLength - 1; j >= 0; j--)
                {
                    cc[cIndex] = (str1.charAt(j) - '0') * (c2 - '0') + dx
                            + cc[cIndex];
                    dx = cc[cIndex] / 10;
                    cc[cIndex] = cc[cIndex] % 10;
                    cIndex++;
                }
                if (maxIndex < cIndex)
                {
                    maxIndex = cIndex;
                }
                cIndex = maxIndex;
                if (dx != 0)
                {
                    while (dx != 0)
                    {
                        cc[cIndex] = cc[cIndex] + dx;
                        dx = cc[cIndex] / 10;
                        cc[cIndex] = cc[cIndex] % 10;
                        cIndex++;
                    }
                    maxIndex = cIndex;
                }
            }
            StringBuilder sb = new StringBuilder();
            for (int i = maxIndex - 1; i >= 0; i--)
            {
                if(cc[i]==0  && i==maxIndex-1)
                {
                    return "0";
                }
                sb.append((char) (cc[i] + '0'));
            }
            return sb.toString();
        }
  • 相关阅读:
    MySQL客户端mysqladmin命令
    13 Linux磁盘管理
    12 Linux软件管理
    11 Linux压缩打包
    09 Linux输入输出
    08 LinuxACL控制
    07 Linux特殊权限
    06 Linux基本权限
    05 Linux用户管理
    04 Linux文件编辑
  • 原文地址:https://www.cnblogs.com/shuiyonglewodezzzzz/p/6329700.html
Copyright © 2011-2022 走看看