zoukankan      html  css  js  c++  java
  • 【算法】大整数加法

    思路:

      思路比较简单,将大数据的每位进行加法,记录进位即可。需要注意的是,两个数据中较长的一个需要另外单独处理多出的部分,在程序最后还要加上最高位的进位。

    代码:

    function sum(a,b){
            var strA= a.toString(),
                strB= b.toString();
            var arrA=strA.split("").reverse(),
                arrB=strB.split("").reverse();
            var aLen=arrA.length,
                bLen=arrB.length;
    
            if(aLen==1||bLen==1){
                return a+b;
            }
            var flag= 0,re=[],temp=0;
            var maxLen=Math.min(aLen,bLen);
            for(var i=0;i<maxLen;i++){
                temp=parseInt(arrA[i])+parseInt(arrB[i])+flag;
                if (temp > 9) {
                    re.push(temp - 10);
                    flag= 1;
                } else {
                    re.push(temp);
                    flag = 0;
                }
            }
    
            var cloneArr=aLen>bLen?arrA:arrB;
            for(len=cloneArr.length;i<len;i++){
                temp=parseInt(cloneArr[i])+flag;
                if (temp > 9) {
                    re.push(temp - 10);
                    flag= 1;
                } else {
                    re.push(temp);
                    flag = 0;
                }
            }
    
            if(flag){
                re.push(flag);
            }
            return parseInt(re.reverse().join(""));
        }
  • 相关阅读:
    Java应用程序的运行机制
    IO流——字符流
    IO流——字节流
    Java API --- File类
    SSM框架整合
    Mybatis核心组件
    AJAX 练习
    设计者模式
    软件七大设计原则
    并发编程
  • 原文地址:https://www.cnblogs.com/shytong/p/5322563.html
Copyright © 2011-2022 走看看