c++高精度加减法

本文介绍了如何在C++中处理高精度加法和减法问题,特别是涉及大数运算的情况。通过实例展示了如何对大数进行加减操作,并提供了相应的代码实现。文章还包含一些练习题,用于巩固高精度运算的理解,如宇宙总统和最大减最小问题的解决方案。
摘要由CSDN通过智能技术生成

高精度加减法

概念

如果有一道题目,要求你求两个数的和,但是每个数可能有1000位那么大,简简单单a+b肯定是做不到的,因为long long最多也只支持19位大小。这个时候就要使用高精度的运算,定义string类型的变量做加减法。

例题

①A+B

题目

题目描述:
给你两个十进制数,数位最多有1000位,求他们的和
输入格式:
第一行输入一个整数
第二行输入一个整数
输出格式:
输出一个整数
样例输入:
12312312312142343254354354
4124354364565765456
样例输出:
12312316436496707820119810
约定:
A,B都是正数

分析

题目看着非常简单,但是看到数据范围心慌慌了吧~
这里可以将每个加数看作一个字符串。我们做加法竖式时是数位对齐的,并且是从后面开始对齐,而计算机时从前往后读入字符串的,这样就会将最高位对齐,这并不是我们想要的。
我们可以定义三个数组,分别存放第一个加数的每一位,第二个加数的每一位与和的每一位,从后往前读入数据存放进数组,输出结果的时候只用倒着输出就可以啦~

代码

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值