大整数相加
大整数相加
木宛城主 发表于3年前
大整数相加
  • 发表于 3年前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

#include "stdafx.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    string sa,sb,sc;
    vector<int>v;
    int i,a,b,sum,flag;
    while(cin>>sa>>sb)
    {
        flag=0;//进位初始化为0
        v.clear();//清空结果向量
        sum=0;
        reverse(sa.begin(),sa.end());//逆序相加
        reverse(sb.begin(),sb.end());//逆序相加
        //cout<<sa<<endl;
        //cout<<sb<<endl;
        if(sa.size()<sb.size())
        {
           sc=sa;
           sa=sb;
           sb=sc;
        }
        for(i=0;i<sa.size();i++)
        {

            if(i>=sb.size())  sb[i]='0';      
          
        sum=sa[i]-'0'+sb[i]-'0'+flag;
        if(sum>9)
        {
            flag=sum/10;//产生进位
            sum=sum%10;//保留位
        }
        else
            flag=0;
 
        v.push_back(sum);
        }
        if(flag==1)  v.push_back(1);
        for(i=v.size()-1;i>=0;i--)//最后再逆序输出
        {
           cout<<v[i];
         
        }
        cout<<endl;
 
    }
    return 0;
}
共有 人打赏支持
粉丝 1
博文 222
码字总数 199010
×
木宛城主
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: