加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

无限大数 相加-,可以方便的改为相减,相乘

发布时间:2020-12-14 02:49:23 所属栏目:大数据 来源:网络整理
导读:大数结构,tag 中可以放(正负号) wei可以放长度 num放 一位的数值 next 放下一位(更高的一位) public ?class BigNum{ boolean tag = true; int num = 0; int wei= 1; BigNum next; } public class shuju { public static void main(String[] args) { //

大数结构,tag 中可以放(正负号)

wei可以放长度

num放 一位的数值

next 放下一位(更高的一位)


public ?class BigNum{

boolean tag = true;

int num = 0;

int wei= 1;

BigNum next;

}


public class shuju {


public static void main(String[] args) {

// TODO Auto-generated method stub

BigNum a = new BigNum();

getDemo(a);

System.out.println("---------a------------------");

out(a);

BigNum b = new BigNum();

getDemo(b);

System.out.println("-----------b---------------");

out(b);

BigNum bigNum = add(a,b);

System.out.println("-----------------------------");

out(bigNum);


}






private static void out(BigNum bigNum) {

for(BigNum t = bigNum.next;t != null;){

System.out.print(t.num);

t = t.next;

}

}

static BigNum add(BigNum a,BigNum b){

BigNum result = new BigNum();

BigNum temp = result;

for(;(a != null || b!= null);){

if(a == null){

add1(temp,b.num);

}

if(b == null){

add1(temp,a.num);

}else{

add1(temp,a.num,b.num);

a= a.next;

b= b.next;

}

if(temp.next == null){

temp.next = new BigNum();

}

temp = temp.next;

}

return result;

}

public static void add1(BigNum a,int n,int m){

if(a.next == null){

a.next = new BigNum();

}

?

int tem = 0;

?

tem = n + m + a.num;

a.num = tem %10;

?

if(tem /10 >0){

add1(a.next,1,a.next.num);

?

}

}

面试的时候不一定是你是否理解,也要看面试你的人是否理解你,因为一般的算法都不是随手可以在纸上搞定的,毕竟不能回退不是吗,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读