前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大整数相加

大整数相加

作者头像
用户1161731
发布2018-01-11 12:55:44
8550
发布2018-01-11 12:55:44
举报
文章被收录于专栏:木宛城主木宛城主木宛城主
#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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011-05-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档