读书人

计算随意2个正整数的乘积

发布时间: 2012-09-24 13:49:41 作者: rapoo

计算任意2个正整数的乘积

接上一篇整数的阶乘算法,来计算2个正整数的乘积;

算法如下:

    用被乘数的右边第一位去乘乘数,每位的结果放入集合;然后从低位到高位进行满十进位;用被乘数的右边第二位去乘乘数,每位的结果向左错一位放入集合;然后从低位到高位进行满十进位;以此类推。。。。

具体代码如下:

?

package com.datastruct.array;import java.math.BigInteger;import java.util.ArrayList;import java.util.List;/** * 计算任意2个正整数相乘 * BigInteger版 * @author ikon * */public class MultiBigInteger {public static void main(String[] args){ConsoleReader console = new ConsoleReader(System.in);System.out.print("请输入乘数 : ");String num1 = console.readLine();System.out.print("请输入被乘数 : ");String num2 = console.readLine();BigInteger a = new BigInteger(num1);BigInteger b = new BigInteger(num2);System.out.print(num1+"*"+num2+"="+a.multiply(b));}}

?

1 楼 kidding87 2011-11-12 效率不是很高,思路没有问题,但是你的两个乘数输入都都转为Integer么,Integer的范围不够吧
java里面已经有对这个的算法的封装了,看看BigInteger的方法吧 2 楼 ikon 2011-11-13 两个乘数没有转成integer,而是当成字符串;BigInteger确实封装了,我修改下;

读书人网 >编程

热点推荐