大数相乘--极简单的思路
2015-11-25 22:33
218 查看
大数相乘,面试常见的题型,如何计算两个打算相乘?
<pre style="font-family: 'Lucida Sans Typewriter'; font-size: 12pt; background-color: rgb(255, 255, 255);"><pre name="code" class="java">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);}}
相关文章推荐
- sift源码+opencv+gtk+VS2013
- java面向对象基础知识(三)
- Mecanim 系统练习2 +物理引擎PhysX
- qt程序打包
- 判断当前网络是否可用
- 忽略大小写,比较字符串大小。
- 打印乘法口诀表
- Validate Binary Search Tree
- Angular js Radio Button
- 单片机:按键(使用中断)控制数码管的数字加减(c语言实现)
- 2015最流行的Android组件、工具、框架大全
- 2015最流行的Android组件、工具、框架大全
- EF 未应用自动迁移,因为自动迁移会导致数据丢失的解决办法
- opengl 消除棱角
- 2015最流行的Android组件、工具、框架大全
- Java作业——权限综合实验 + 数组、字符串高级应用
- C++编程的第一个程序
- django静态文件的访问
- Windows下一些配置信息
- unix高级编程:获取文件长度