杭州电子科技大学(HDU)ACM刷题----------大数相加之1002详解
来源:互联网 发布:软件质量保证范文 编辑:程序博客网 时间:2024/04/27 20:59
#include <iostream>#include <string>using namespace std;string BigNum(string str1,string str2){ //大数相加int i,j;if (str1.size()<str2.size()) //大数相加第一步:将位数最多的定为str1{string t=str2;str2=str1;str1=t;}for (i=str1.size()-1,j=str2.size()-1;i>=0;i--,j--) //str1.size()-1是因为str1从0开始计数{str1[i]=(str1[i]+(j>=0? str2[j]-'0':0)); //利用问号语句判断位数较短的str2的位数是否达到上限if (str1[i]-'0'>=10){str1[i]=(((str1[i]-'0')%10)+'0'); if (i!=0) //当i不为0时就执行str1[i-1]语句{str1[i-1]++; }else{str1='1'+str1; //最高位若还有进位就加上进位1,此处不能写作str1+='1',string类相加是直接把多个string语句按照写法顺序“嫁接”}}}return str1;}int main(){int n;cin>>n;int flag=1;while (n--){string result;string str1,str2;cin>>str1>>str2;result=BigNum(str1,str2);cout<<"Case "<<flag++<<":"<<endl;cout<<str1<<" + "<<str2<<" = "<<result<<endl;if (n==0){}else{cout<<endl;}}return 0;}
1 0
- 杭州电子科技大学(HDU)ACM刷题----------大数相加之1002详解
- 杭州电子科技大学(HDU)ACM 刷题---------字符串处理之1062
- 杭州电子科技大学(HDU)ACM刷题---------选择排序之2020
- 杭州电子科技大学(HDU)ACM 刷题----------字符串之2026
- 杭州电子科技大学(HDU)ACM 刷题----------贪心算法之2021
- 杭州电子科技大学(HDU)ACM刷题----------汉字统计
- 杭州电子科技大学ACM 1001
- 杭州电子科技大学ACM 1018
- 杭州电子科技大学ACM-1090
- 杭州电子科技大学ACM-1092
- 杭州电子科技大学ACM-1091
- 杭州电子科技大学ACM-1093
- 杭州电子科技大学ACM-1094
- 杭州电子科技大学ACM-1095
- 杭州电子科技大学ACM-1096
- 杭州电子科技大学ACM-1001
- 杭州电子科技大学ACM-1081
- 杭州电子科技大学acm-2001
- 数字电路中reset信号的处理(优化reset tree的方法)
- MySQL乱码问题
- 2016华为软件精英挑战赛:低级案例---暴力出奇迹(一)
- [C#] [C# in Depth] Implementing the Singleton Pattern in C#
- Android实战技巧:多线程AsyncTask
- 杭州电子科技大学(HDU)ACM刷题----------大数相加之1002详解
- MyBatis学习4---使用MyBatis_Generator生成Dto、Dao、Mapping
- ATL正则表达式库与CAtlRegExp的使用
- JAVA垃圾回收
- snoopy
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- CentOS VIM 设置折叠,缩进,括号匹配
- 160410markdown初试手
- Linux中使用base64编码中文