1.IntString类:
package hi.baidu;
class IntString {
public int len;
public int[] digits;
public IntString(){
len = 0;
digits = null;
}
}
2.BigInt类:
public class BigInt {
public BigInt() {}
public static void main(String[] args) throws java.io.IOException {
System.out.println("Input two large integers:");
IntString intt1 = new IntString();
IntString intt2 = new IntString();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String str[] = (reader.readLine()).split("\\s+");
intt1.digits = convert(str[0]);
intt1.len = str[0].length();
intt2.digits = convert(str[1]);
ntt2.len = str[1].length();
int[] a = intt1.digits;
int[] b = intt2.digits;
int alength = intt1.len;
int blength = intt2.len;
IntString intt3 = new IntString();
intt3.len= alength+blength-1;
int clength = intt3.len;
int[] c= new int[1000];
for (int i =0;i<alength;i++)
for(int j=0;j<blength;j++)
c[i+j] += a[i]*b[j];
for(int i=0;i<c.length;i++) {
if(c[i]>9) {
c[i+1] +=c[i]/10;
c[i] = c[i]%10;
}
}
intt3.digits = c;
clength= intt3.len;
System.out.println(clength);
System.out.println("the result is: ");
for(int i=clength-1;i>=0;i--){
System.out.print(c[i]);
}
}
//将字符串逆序
public static int[] convert(String str) {
int length = str.length();
int[] tem = new int[length];
for(int i=0;i<str.length();i++) {
tem[i] = str.charAt(length-i-1)-'0';
}
return tem;
}
}
分享到:
相关推荐
大数相乘,算法源码分析,以及相关的实现
C/C++实现两个大数相乘的源代码,同理可以实现两个无限小数的相乘,实现原理都是一样的。看代码就能写出来。
两大数相乘,算法,数组,C语言.。。。。。。
20位左右的大数相乘算法解析,用一个整型数组表示一个大数,数组的每个元素储存大数的一位数字,则实际的大数d表示为: d=a[k]*10的k-1次幂+a[k-1]*10的k-2次幂+......+a[2]*10+a[1] 其中a[0]保存该大数的位数. ...
大数相乘算法,java代码,包含独立大数相加算法 其中bigNumberPlus(String s1,String s2)为大数相加方法 bigNumberMultiply(String s1,String s2)为大数相乘方法
利用分治法设计一个计算两个n位的大整数相乘的算法,要求计算时间低于O(n2)。支持不同位数大数的相乘。
用数组进行大数相乘,解决超整形的大数相乘
实现了两个大数相乘的小程序,数组大小可自行指定,欢迎大家进行验证
两个大数相乘-字符串实现两个大数相乘-字符串实现
大数相乘算法,用CSharp实现,经过测试,应该没错了
用C语言写的两个大数如何相乘及在计算机上显示出结果。
大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码大数相乘算法源代码...
主要为大家详细介绍了C++实现大数相乘的算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过汇编语言实现大数相乘,作业,调试成功
本程序可以求出:任意位的两个大数相乘的结果。 已经实验过>2000位的两数相乘,有兴趣的话,你也试一试吧。 support me!thanks!
本程序用链表、数组实现了两个大数相乘。(位数可以上万)
快速排序算法和任意两个大数阶乘相乘算法的汇编实现,可以对你任意输入的数进行快速排序,对你任意输入数的阶乘进行求解
两个超过计算机所能表示的数相乘,利用数组存储大数,进行相乘
在实际的大型的数学相乘运算中,往往数字的位数较多,造成一般计算器乃至科学计算器都无法完成计算,为科学研究和事业带来一定的麻烦,因此为了解决这种普通的计算设备所完成不了的计算,就设计了这个大数相乘程序,...
大数相乘大数相乘大数相乘大数相乘大数相乘