高精度加法

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

vector <int> add(string a , string b ){
    
    vector <int> a1 , b1;
    for(int j = a.length() - 1 ; j >= 0 ; j--) a1.push_back(a[j] - '0');
    for(int j = b.length() - 1 ; j >= 0 ; j--) b1.push_back(b[j] - '0');
    
    vector <int> c;
    int t = 0;
    int i = 0;
    while( i < a1.size() && i < b1.size()){
        c.push_back((a1[i] + b1[i] + t) % 10);
        t = (a1[i] + b1[i] + t) / 10;
        i ++;
    }
    
    while( i < a1.size()){
        c.push_back((a1[i] + t) % 10);
        t = (a1[i] + t) / 10;
        i ++;
    }
    
    while( i < b1.size()){
        c.push_back((b1[i] + t) % 10);
        t = (b1[i] + t) / 10;
        i ++;
    }

    if(t != 0) c.push_back(t);

    return c;
}
int main(){
    string a , b;
    cin >> a >> b;
    vector <int> c = add(a ,b);    
    for(int i = c.size() - 1 ; i >= 0 ; i --) cout << c[i];
    return 0;
}
posted @   _l_x_y  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示