乘法:
- public String multiply(String num1,String num2) {
- num1=new StringBuilder(num1).reverse().toString();
- num2=new StringBuilder(num2).reverse().toString();
- int[] result=new int[num1.length()+num2.length()];
- for(int i=0;i<num1.length();i++) {
- int a=num1.charAt(i)-'0';
- for(int j=0;j<num2.length();j++) {
- int b=num2.charAt(j)-'0';
- result[i+j]+=a*b;
- }
- }
- StringBuilder res=new StringBuilder();
- for(int i=0;i<result.length-1;i++) {
- int dig=result[i]%10;
- int carry=result[i]/10;
- result[i+1]+=carry;
- res.insert(0,dig);
- }
- if(result[result.length-1]!=0)
- res.insert(0,result[result.length-1]);
- return res.toString();
- }
大数运算
来源: http://www.bubuko.com/infodetail-3002496.html