Big Number Add

    技术2024-08-01  66

    Recently buy a good book published by Tinghua University. talking about some basic algorithm.

    I like it quite much, and decide practice more.

     

    this article is about big number add. sometime the number is too bigger then the scope integer or double.

    computer can use this way to handle add algorithm. the similar is mulitple and devided algorithm. will make them out later on.

     

    just pass the chinese lunar new year, and seems long time no touch is blog, in my new company is quite busy, as a new employee. hope I can manage better and better, and can put more time to learn and practice my algoritm.

     

    code like follow:

     

     

    __author__ = 'zbo' def reverse(list): result=[]; for i in range(len(list)-1,-1,-1): result.append(list[i]) return result def max(a,b): if a>=b: return a; else: return b; def BigAdd(number_A=[],number_B=[]): Sum=[]; # print number_A # print number_B reversed_A=reverse(number_A) reversed_B=reverse(number_B) # print reversed_A # print reversed_B maxLen=max(len(reversed_A),len(reversed_B)); extra=0; for i in range(maxLen): if i<len(reversed_A) and i<len(reversed_B): temp=reversed_A[i]+reversed_B[i]; else: if i<len(reversed_A): temp=reversed_A[i]; else: temp=reversed_B[i]; if extra==1: temp=temp+1; if temp<=9: extra=0; else: temp=temp-10; extra=1; Sum.append(temp) return reverse(Sum) print "begin add process" result=BigAdd([7,2,3,1,5],[1,2,3,4,5,6]); print result;

    最新回复(0)