首页 > 编程语言 >[Javascript] How to do big integers sum

[Javascript] How to do big integers sum

时间:2024-08-25 16:04:35浏览次数:12  
标签:integers const do big sum result maxLength carry

/**
 * Big integer sum
 * Using strings to represent big integers
 * @param {string} a
 * @param {string} b
 * @returns {string}
 */
function bigIntSum(a, b) {
  const maxLength = Math.max(a.length, b.length);
  const aStr = a.padStart(maxLength, "0");
  const bStr = b.padStart(maxLength, "0");
  let carry = 0;
  let result = "";
  for (let i = maxLength - 1; i >= 0; i--) {
    const sum = Number(aStr[i]) + Number(bStr[i]) + carry;
    const digit = sum % 10;
    result = `${digit}${result}`;
    carry = Math.floor(sum / 10);
  }

  if (carry === 1) {
    result = `${carry}${result}`;
  }

  return result;
}

const res = sum("1354523252442512423", "999999239");
console.log(res);

 

标签:integers,const,do,big,sum,result,maxLength,carry
From: https://www.cnblogs.com/Answer1215/p/18379047

相关文章

  • tips in windows/ 1.windows文件路径最长限制
    1.windows文件路径最长限制场景:在用文件资源管理器删除名称超过255字符的文件(文件名最大字符限制就是255)时,发现删除不了,也没反应原因:windows删除调用的是explorer,对路径限制不能超过260,此时超过了,但又由于是应用层,所以不会直接给以报错。使用杀毒软件可以是因为他们调用的是......
  • lima 轻量级虚拟机docker替代方案 (macos平台)
    引言由于某些原因,我的mac电脑的docker出了问题,无法使用docker,想到有没有类似windos上的终端虚拟机,可以直接使用命令行,经过一凡寻找,终于找到了一个替代方案我来为大家介绍一款免费、自由、开源的DockerforMac替代品,containerd&Lima。你只需要执行以下命令即可快速体验......
  • Windows系统安装MySQL
    在Windows中安装mysql不够幸运的话,会遇到相当多的坑,当然这也算是一种财富吧,让自己碰到问题去查找解决方案。有时候不是一时半会就可以解决的。有同学说过安装mysql安装两天还没有装上。不用担心,我安装mysql用了一天吧,下面记录下来安装过程及可能遇到的问题。工欲善其事,必先利其......
  • 浏览器对象模型 BOM和文档对象模型DOM
    DOM(文档对象模型,DocumentObjectModel)是一个平台和语言无关的接口,它提供了一种结构化的方法来表示和操作HTML和XML文档。通过DOM,文档被表示为一个树状结构,文档的每个部分都可以作为一个对象进行访问和操作。一DOM的基本概念节点(Node):DOM树由各种节点组成,每个节......
  • (1) 定义一个Circle类,包含一个double型的radius属性代表圆的半径,findArea()方法返回圆
    1publicclassHomework13{2//编写一个mian方法3publicstaticvoidmain(String[]args){4Circlec=newCircle();5PassObjectpo=newPassObject();6po.printAreas(c,5);78}9}101112classCircle{13......
  • Odoo软件二次开发:Odoo自动化测试与持续集成
    Odoo软件二次开发:Odoo自动化测试与持续集成Odoo自动化测试基础自动化测试的重要性在软件开发过程中,自动化测试扮演着至关重要的角色。它不仅提高了测试的效率和准确性,还减少了人为错误,确保了软件质量。对于Odoo这样的复杂ERP系统,自动化测试更是必不可少,因为它可以帮助开......
  • gameobject_template | gameobject_template_addon
    目录gameobject_templateentrytypedisplayIdIconNameContentTuningIdAINamegameobject_template_addon factionflagsgameobject_templateentry gameobject模板的IDtype gameobject模板类型,取值参考源码GameObjectData.h的structGameObjectTemplat......
  • Java的包机制和JavaDoc生成帮助文档
    Java项目中通常采用分层的结构来组织代码和资源,以下是这种结构的典型层次:项目文件夹:这是整个Java项目的根目录。通常包括一些配置文件(如pom.xml或build.gradle),用于构建和管理项目依赖。模块文件夹:在大型项目中,通常会将项目划分为多个模块(子项目),每个模块有自己的代码、资源和依......
  • Docker简介及安装
    本系列将会与大家分享Docker的相关知识。本章主要简要介绍Docker,并指导大家如何在CentOS7上进行Docker的安装。废话不多说,下面我们直接进入主题。一、Docker简介Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的......
  • docker部署mysql
    #创建主从数据库文件夹mkdir-p/usr/local/mysql/master1/confmkdir-p/usr/local/mysql/master1/datamkdir-p/usr/local/mysql/slave1/confmkdir-p/usr/local/mysql/slave1/data#初始化主数据库配置文件cd/usr/local/mysql/master1/confvimy.cnf#粘贴以下内容......