贝贝是一个聪明的小孩,他总喜欢玩数字加法的游戏。一天,他的数学老师为了考一考他的能力,出了一道这样的题:要求他在短时间内计算出两个大数相加的结果。这两个大数可不是普通的数字,它们是11位以上的“庞然大物”。
请你编程序,帮贝贝解决这个问题。
标签:程序 closed class open close led one status sam
贝贝是一个聪明的小孩,他总喜欢玩数字加法的游戏。一天,他的数学老师为了考一考他的能力,出了一道这样的题:要求他在短时间内计算出两个大数相加的结果。这两个大数可不是普通的数字,它们是11位以上的“庞然大物”。
请你编程序,帮贝贝解决这个问题。
两行,分别是两个需要相加的数A和B,这两个数在10^11~10^100之间。
1行,是两个大数相加的结果。
8569742356145896
215783669444444427
224353411800590323
#include <iostream> #include <string> using namespace std; string add(string a,string b){ if(a.size()<b.size()){ string temp=a; a=b; b=temp; } int len1=a.size(),len2=b.size(),flag=0,pa,pb,sum; while(len1>0){ pa=a[len1-1]-‘0‘; pb=len2>0?b[len2-1]-‘0‘:0; sum=pa+pb+flag; a[len1-1]=‘0‘+sum%10; flag=sum/10; len1--;len2--; } if(flag)a="1"+a; return a; } int main(){ string a,b; cin>>a>>b; cout<<add(a,b)<<endl; return 0; }
标签:程序 closed class open close led one status sam
原文地址:https://www.cnblogs.com/Rhythm-/p/9350256.html