专栏首页wuxiexy的前端分享两个超大的数字相加
原创

两个超大的数字相加

function largeCount(f, t) {
    f += "";
    t += "";
    let fl = f.length,
        tl = t.length,
        arr = [],
        i = 0,
        spacing = fl - tl,
        len = 0,
        lastMan = [],
        fr = f.split("").reverse(),
        tr = t.split("").reverse(),
        current = 0,
        curr = 0,
        isT, maxLen;
    if (spacing > 0) {
        len = tl;
        lastMan = fr;
        maxLen = fl;
    } else {
        len = fl;
        lastMan = tr;
        maxLen = tl;
    }
    function course(current, i) {
        if (current > 9) {
            arr[i] = current % 10;
            arr[i + 1] = 1;
            return true;
        } else {
            arr[i] = current;
            return false;
        }
    }
    for (; i < len;) {
        curr = arr[i] ? arr[i] : 0;
        current = fr[i] * 1 + tr[i] * 1 + curr * 1;
        course(current, i++);
        if (i === len) {
            if (arr[i]) {
                do {
                    curr = lastMan[i];
                    if (curr) {
                        current = lastMan[i] * 1 + arr[i] * 1;
                        isT = course(current, i++);
                    } else {
                        isT = false;
                    }
                } while (isT && i < maxLen);
            }
            arr = [...arr, ...lastMan.slice(i)];
        }
    }
    return arr.reverse().join("");
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数组扁平化处理

    wuxiexy
  • 两个超大的数字相乘

    这里两个超大的数字相乘,用到前面的两个超大的数字相加的方法,所以这里顺便贴一下代码。

    wuxiexy
  • 两个数字相除

    计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926...,1.3333... 等。

    wuxiexy
  • 「面试」45 道牛客网 JavaScript 经典题总结(8500字)

    牛客网的45道JS能力评测题个人觉得是非常好的45道js基础检测题,基本就是对自己的JavaScript基础做一个比较全面的评估,包括if语句、循环体、基础操作...

    coder_koala
  • 浅谈UML的概念和模型之UML九种图

    http://blog.csdn.net/jiuqiyuliang/article/details/8552956

    bear_fish
  • 【转】storm和zookeeper中的节点的关系

    【转】https://www.cnblogs.com/yuananyun/p/5186427.html

    yiduwangkai
  • 深入理解RocketMq普通消息和顺序消息使用,原理,优化

    最近一直再做一些系统上的压测,并对一些问题做了优化,从这些里面收获了一些很多好的优化经验,后续的文章都会以这方面为主。

    用户5397975
  • 线性表及ArrayList/LinkedList源码分析总结

    定义:零个或者多个元素的有限序列。 也就是说它得满足以下几个条件:   ①该序列的数据元素是有限的。   ②如果元素有多个,除了第一个和最后一个元素之外,每个元...

    技术zhai
  • 进阶Java架构师必看的15本书

    1、大型网站技术架构:核心原理与案例分析 本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技...

    Java技术栈
  • P1888 三角函数

    题目描述 输入一组勾股数a,b,c(a≠b≠c),用分数格式输出其较小锐角的正弦值。(要求约分。) 输入输出格式 输入格式: 一行,包含三个数,即勾股数...

    attack

扫码关注云+社区

领取腾讯云代金券