为了账号安全,请及时绑定邮箱和手机立即绑定

大整数相加

标签:
JavaScript

?

#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;}
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消