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(""));
        }
  • 相关阅读:
    声明函数的是方式
    数组的相关属性和函数
    JS选择结构
    JS数据类型
    JS 运算符
    JS 变量
    响应式布局
    css的flex属性
    CSS中的度量单位
    BFC 规则
  • 原文地址:https://www.cnblogs.com/shytong/p/5322563.html
Copyright © 2011-2022 走看看