菜鸟的博客

纵有疾风起,人生不言弃。

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

2023.9.18

复制代码
// 高精度
//注:大写字母代表位数大于(1e6),小写字母代表小于(1e6)的数
//在存储较大数时,用数组来记录每一位的数字,数组下标为0,则记录大数的个位,依次往后推
## A+B
c++

#include <iostream>
#include <vector>
using namespace std;

vector<int> add(vector<int> &A,vector<int> &B)
{
    vector<int> C;
    if(A.size()<B.size()) return add(B,A);
    
    int t = 0;
    for(int i = 0;i<A.size();i++)
    {
        t+=A[i];
        if(i<B.size()) t+=B[i];
        C.push_back(t%10);
        t/=10;//每次循环都判断一次t的大小,并将t的值带到下个循环
    }
    //循环完以后最后判断t的大小
   if(t) C.push_back(1);
   return C;
}

int main()
{
    string a,b;
    cin>>a>>b;
    vector<int> A,B;
    for(int i = a.size()-1;i>=0;i--) A.push_back(a[i]-'0');
    for(int i = b.size()-1;i>=0;i--) B.push_back(b[i]-'0');
    auto C = add(A,B);
    for(int i = C.size()-1;i>=0;i--) printf("%d",C[i]);
    return 0;
}
复制代码

 

posted on   hhmzd233  阅读(6)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示