java数据结构之顺序表应用之大整数求和

原创 2016年06月01日 22:29:22

本章讲顺序表的应用之大整数求和。java中int,long,float,double都有他们自己的精度值,如果超过精度就没办法进行运算了。这里可以用顺序表进行大整数运算。

下面上代码看具体案例,进行解析:

package SequenceList;
public class LargeIntegerSum {
	public int[] add(int aa[],int bb[]){
		int[] a=new int[aa.length];
		int[] b=new int[bb.length];
		for(int j=aa.length-1;j>=0;j--){
			a[aa.length-1-j]=aa[j];
		}
		for(int j=bb.length-1;j>=0;j--){
			b[bb.length-1-j]=bb[j];
		}
		int a_length=a.length;
		int b_length=b.length;
		int c_length=0;
		if(a_length>b_length){
			c_length=a_length;
		}else{
			c_length=b_length;
		}
		int[] c=new int[c_length];
		int flag=0;
		int i=0;
		while(i<a_length && i<b_length){
			c[i]=(a[i]+b[i]+flag)%10;
			flag=(a[i]+b[i]+flag)/10;
			i++;
		}
		for(;i<a_length;i++){
			c[i]=(a[i]+flag)%10;
			flag=(a[i]+flag)/10;
		}
		for(;i<b_length;i++){
			c[i]=(b[i]+flag)%10;
			flag=(b[i]+flag)/10;
		}
		if(flag==1){
			int[] temp=c;
			c=new int[c_length+1];
			for(int ii=0;ii<temp.length;ii++){
				c[ii]=temp[ii];
			}
			c[c.length-1]=1;
		}
		int cc[]=new int[c.length];
		for(int j=cc.length-1;j>=0;j--){
			cc[cc.length-1-j]=c[j];
		}
		return cc;
	}
	public static void main(String[] args) {
		LargeIntegerSum l=new LargeIntegerSum();
		int a[]={9,2,3};
		int b[]={9,1,9};
		int[] c=l.add(a, b);
		for(Integer i:c){
			System.out.print(i);
		}
		System.out.println();
	}
}
本案例是通过数组来存储大整数的,可以运算特别大的加法运算。

如果有什么不清楚或者有啥疑问意见可以加我QQ/微信  208017534  / qiang220316,欢迎一起交流一起进步。



版权声明:本文为博主原创文章,未经博主允许不得转载。

大整数相乘算法-Java实现

我们知道,在Java中最大的整数就是Long.MAX_VALUE(0x7fffffffffffffff,也即9223372036854775807),要想表示更大的整数就必须通过自定义的类来表示了,比...
  • wust_wl
  • wust_wl
  • 2016年03月27日 10:11
  • 1085

java中的BigInteger(很好很强大)(转)

JAVA之BigInteger 用Java来处理高精度问题,相信对很多ACMer来说都是一件很happy的事,简单易懂。用Java刷了一些题,感觉Java还不错,在处...
  • w00w12l
  • w00w12l
  • 2012年02月24日 14:42
  • 97903

数据结构 第二章 顺序表应用举例——大整数求和

一、问题描述 C/C++语言中的int类型能表示的整数范围是-2^31~2^31-1,unsigned int类型能表示的整数范围是0~2^32-1,即0~4 294 967 295,所以,int和...

数据结构课设之大整数四则运算

四则运算

线性表之大整数求和

用某种程序设计语言进京

学习笔记------数据结构(C语言版)链表应用~一元多项式求和

//Polynomial.cpp #include"predefined.h" #include"Polynomial.h" #include"ExtenLinkedList.h" void Cr...
  • CYTCHAN
  • CYTCHAN
  • 2016年01月15日 19:27
  • 1274

C算法与数据结构-线性表的应用,多项式求和---ShinePans

/*---上机作业作业,二项式加法---*/ /*---By 潘尚 ---*/ /*---日期: 2014-5-8 . ---*/ /*---题目:---*/ //假设有两个稀疏多项式A和B,设计算法...

数据结构之大小堆&&优先级队列

大小堆> 一.什仫是堆?     堆这种数据结构说白了就是一颗完全二叉树,堆的含义说明这颗完全二叉树中的所有非终端结点的值均不大于(或不小于)其左,右孩子结点的值.若一维数组{k1,k2,k3,k4....

数据结构顺序表应用

  • 2014年05月09日 11:34
  • 1KB
  • 下载

java实现的顺序表数据结构

  • 2010年04月06日 12:33
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java数据结构之顺序表应用之大整数求和
举报原因:
原因补充:

(最多只允许输入30个字)