大大的求和

本文介绍了一种字符串形式的大数相加算法实现方法,并通过C++代码进行了具体演示。该算法能够处理任意长度的整数相加问题,适用于超出常规整型变量表示范围的情况。

#include<bits/stdc++.h>

using namespace std;


string sum(string s1,string s2)  
{  
    if(s1.length()<s2.length())  
    {  
        string temp=s1;  
        s1=s2;  
        s2=temp;  
    }  
    int i,j;  
    for(i=s1.length()-1,j=s2.length()-1;i>=0;i--,j--)  
    {  
        s1[i]=char(s1[i]+(j>=0?s2[j]-'0':0));   //×¢Òâϸ½Ú  
        if(s1[i]-'0'>=10)  
        {  
            s1[i]=char((s1[i]-'0')%10+'0');  
            if(i) s1[i-1]++;  
            else s1='1'+s1;  
        }  
    }  
    return s1;  
}  




int main()
{

int n,m,j,k,i,T;
string a,b,ans;
cin>>T;

while (T--)
{   
    cin>>a;
while (cin>>b  && b!="0")
{
a = sum(a,b);
}


        cout<<a<<endl<<endl;

}


    return 0;
}


 

转载于:https://www.cnblogs.com/Romantic-Chopin/p/10253171.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值