大数相乘--极简单的思路
发布日期:2021-06-30 17:51:19 浏览次数:2 分类:技术文章

本文共 1069 字,大约阅读时间需要 3 分钟。

大数相乘,面试常见的题型,如何计算两个打算相乘?
 
public class Test1 {    public void multi(char[] a,char[]b){        int alen = a.length;        int blen = b.length;        //用于存放最后计算出来的结果        int[]s = new int[alen+blen];        for (int i = 0; i < s.length; i++) {            s[i] = 0;        }        //计算,(此时s中的某一个元素的值可能大于9)        for (int i = 0; i < alen; i++) {            for (int j = 0; j < blen; j++) {                s[i+j+1] += (a[i]-'0')*(b[j]-'0');            }        }        //进位处理        for (int i = alen+blen-1; i >= 0; i--){            if(s[i] >= 10){                s[i-1] += s[i]/10;                s[i] %= 10;            }        }        print(s);    }    public void print(int [] s){        int i = 0;        while(s[i] == 0){            i++;        }        for (; i < s.length; i++){            System.out.print(s[i]);        }    }    public static void main(String[] args) {        String a = "36";        String b = "36";        char[] aa = a.toCharArray();        char[] bb = b.toCharArray();        Test1 test1 = new Test1();        test1.multi(aa,bb);    }}
 

转载地址:https://liangyihuai.blog.csdn.net/article/details/50043701 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Intelij IDEA注册码生成代码
下一篇:java位运算应用

发表评论

最新留言

不错!
[***.144.177.141]2024年05月03日 23时53分42秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章