首页 > 其他分享 >HJ57 高精度整数加法

HJ57 高精度整数加法

时间:2023-07-10 22:45:23浏览次数:41  
标签:num1 num2 高精度 sum 加法 carry HJ57 String

1. 题目

读题

HJ57 高精度整数加法

 

 

考查点

 

2. 解法

思路

 

代码逻辑

 

具体实现

public class HJ57 {

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String num1 = sc.nextLine();
String num2 = sc.nextLine();
System.out.println(addStr(num1, num2));

}

public static String addStr(String num1, String num2) {
StringBuffer sb = new StringBuffer();
int sum = 0;
int carry = 0;
int i = num1.length() - 1, j = num2.length() - 1;
while (i >= 0 || j >= 0 || carry > 0) {
sum += carry;

if (i >= 0) {
sum += num1.charAt(i) - '0';
i--;
}
if (j >= 0) {
sum += num2.charAt(j) - '0';
j--;
}
sb.append(sum % 10);
carry = sum / 10;
sum = 0;

}
return sb.reverse().toString();

}
}

 

3. 总结

标签:num1,num2,高精度,sum,加法,carry,HJ57,String
From: https://www.cnblogs.com/shoshana-kong/p/17542571.html

相关文章

  • 高精度算法
    WARNING!本博文为算法笔记,恐说明错误,不建议参考本文膜拜大佬教程......
  • 基于高精度三维机器视觉的新能源汽车锂电池表面缺陷检测
    Part.1 行业背景随着新能源汽车在全球范围内成为焦点发展领域,企业对电池质量控制和检测的要求也变得更加严格。在机器视觉行业迅速发展的背景下,市场上提供了功能强大且种类齐全的3D相机系列,可以满足锂电池从电芯到模组各个工艺和工位的3D检测需求。(图片来源:网络)对于用户来说,新能源......
  • uva 465(高精度)
    题目:Writeaprogramthatreadsanexpressionconsistingoftwonon-negativeintegerandanoperator.Determineifeitherintegerortheresultoftheexpressionistoolargetoberepresentedasa``normal''signedinteger(typeintegerifyouar......
  • 应用案例分享 | 基于高精度三维机器视觉的汽车轮胎装配系统应用
    Part.1 行业背景汽车轮胎装配是汽车制造和维修过程中的关键环节,随着汽车产量的增加和市场竞争的加剧,汽车制造商对轮胎装配的自动化需求也越来越高。如今,汽车制造商们也正努力积极的提升其工艺技术水平,以应对不断增长的市场需求,希望采用更先进、更灵活、更智能的装配技术来提高汽车......
  • 高精度离线免费 的C#文字识别PaddleOCR库
    随便打开一个MicrosoftVisualStudio,新建一个WinForms项目,从下面列表中随便选择一个NET框架。目标平台要设置成X64,该OCR仅支持64位。 net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;netstandard2.0;netcoreapp3.1;net5.0;net6.0;net7.0......
  • 基于高精度三维机器视觉的汽车曲轴无序抓取系统应用
    Part.1 行业背景汽车产业的高速发展,对零部件自动化生产提出了更高要求。随着汽车销量的水涨船高,传统的手工生产模式已经难以满足大批量生产的需求,自动化生产是必然趋势。曲轴是汽车发动机的关键组件之一,生产过程复杂,自动化生成相对较低。曲轴起到将往复运动转化为旋转运动的作用,通......
  • 二进制加法运算小技巧
    二进制加法位运算回顾&(位与):都为1结果为1否则为0|(位或):都为0结果为0否则为1--有1结果就是1^(异或):相同为0不同为1~(取反):0变11变0二进制加法运算以7+8=15为例即:1111000=1111关键点:涉及到进位操作该如何处理如1111+1......
  • 学不会的高精度算法
    前言在洛谷水题的时候发现本蒟蒻是连高精度都不会的蒟蒻中的蒟蒻,所以想要浅浅学习一下什么是高精度算法高精度算法(HighAccuracyAlgorithm)是处理大数字的数学计算方法。在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我......
  • 数值运算 - 加法运算
    数值的存储数值在计算机中以1和0存储,任何值的运算,都是以位运算为基础进行的位运算|(或):有1取10|0=00|1=11|0=11|1=1&(且):两者都为1取10&0=00&1=01&0=01&1=1^(异或):相同为0,不同为10^0=00^1=11^0=11^1=0......
  • 压位高精度模板(加,减,乘)
    structbignum{ #definebase10000 inta[20000]; bignum(){memset(a,0,sizeof(a));}inlinevoidinit(){memset(a,0,sizeof(a));a[0]=1;a[1]=1;} inlinevoidread(){staticchars[1000];scanf("%s",s);intn=strlen(s),len=1; for......