频道栏目
首页 > 资讯 > 其他综合 > 正文

大整数乘法

16-11-24        来源:[db:作者]  
收藏   我要投稿

思路:讲各位相乘的数保存在数组里,再将各个余数用一个StringBulider的insert方法逐个插入(insert方法将指定数符插入指定位置)。

public class MultiplyStrings {
public String multiply(String num1, String num2) {
num1=new StringBuffer(num1).reverse().toString();
num2=new StringBuffer(num2).reverse().toString();
int data[]=new int[num1.length()+num2.length()];
for(int i=0;i int a=num1.charAt(i)-'0';
for(int j=0;j int b=num2.charAt(j)-'0';
data[i+j]+=a*b;
// System.out.println(data[i+j]);
}
}
StringBuilder sBuilder=new StringBuilder();
for(int i=0;i int reminder=data[i]%10;
int caray=data[i]/10;
sBuilder.insert(0, reminder);
if(i+1 data[i+1]+=caray;
}
//去除前面的0;
while(sBuilder.charAt(0)=='0'&&sBuilder.length()>0)sBuilder.deleteCharAt(0);
return sBuilder.toString();
}
public static void main(String[] args) {
String num1="23";
String num2="24";
String result=new MultiplyStrings().multiply(num1, num2);
System.out.println(result);
}
}
相关TAG标签
上一篇:微软Edge和IE11浏览器明年阻止使用SHA-1证书的网站
下一篇:java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站