nupt-acm1011

来源:互联网 发布:好用的爽肤水推荐知乎 编辑:程序博客网 时间:2024/06/03 18:44

描述

求两个非负整数(1000位以内)的和。



输入

两个非负整数(1000位以内),以空格分隔。

输出

两个非负整数的和。

样例输入

111111111111 222222222222

样例输出

333333333333

#include<iostream>#include<string>#include<sstream>using namespace std;int main(){    string a,b;unsigned int i;int icon=0;unsigned int numa[1020]={0},numb[1023]={0},numab[1020]={0};cin>>a;cin>>b;stringstream ssa[1020];stringstream ssb[1020];for(i=0;i<a.length();i++){ssa[i]<<a[a.length()-i-1];ssa[i]>>numa[i];}for(i=0;i<b.length();i++){ssb[i]<<b[b.length()-i-1];ssb[i]>>numb[i];}for(i=0;i<1000;i++){numab[i]=numa[i]+numb[i]+icon;icon=0;if(numab[i]>=10){icon=1;numab[i]-=10;}}int k=1019;while(numab[k]==0)k--;if(k<0)cout<<numab[0];else{for(int j=k;j>=0;j--)cout<<numab[j];}system("pause");return 0;}


0 0