大数相加
2016-03-27 15:40
441 查看
大数相加问题是一个很常见的问题,就是用数组来模拟,不过我以前都是翻转过来模拟加法,不过发现了一个更快的算法,根本不用翻转,直接模拟,以前没怎么在意大数相加的时间问题,不过现在应该在意了,每道题都应该想一想是否还可以更快。代码很好理解,就不解释了。
代码:
代码:
<span style="font-family:Courier New;font-size:18px;">#include<cstdio> #include<iostream> #include<cstring> using namespace std; int main() { char a[1005]; char b[1005]; char c[1005]; while(cin >> a) { cin >> b; int lena = strlen(a)-1; int lenb = strlen(b)-1; int i,temp; for(i=0,temp = 0; lena >= 0 || lenb >= 0; i++, lena--,lenb--) { if(lena >= 0 && lenb >= 0) c[i] = a[lena] + b[lenb] - '0' + temp; else if(lena >= 0 && lenb < 0) c[i] = a[lena] + temp; else c[i] = b[lenb] + temp; temp = 0; if(c[i] > '9') { c[i] = c[i] - 10; temp = 1; } } if(temp == 1) cout << '1'; while(i--) { cout << c[i]; } cout << endl; } return 0; } </span>
相关文章推荐
- layoutSubviews何时调用的问题(原文:http://www.cnblogs.com/pengyingh/articles/2417211.html)
- MySQL索引背后的数据结构及算法原理
- 2014年 无线网络发射器
- Java中LinkedList原理解析
- matlab两种不同模式的并行运算
- sed 4个功能
- win10怎么设置扩展显示器?win10双显示屏的设置方法
- 通过UIActivityViewController实现更多分享服务
- 使用ajax+HTML+servlet实现数据模板填充
- patch文件的语法
- 拓扑排序模板
- 通过UIDocumentInteractionController预览和分享"史蒂夫•乔布斯传"
- 20145233韩昊辰 第四周总结
- HDU1073:Online Judge
- C#-C#6.0新特性
- java.lang.InstantiationException
- SQL附加数据库失败问题的解决方法
- 机房收费系统上机(存储过程+视图)
- 快速排序(java)
- boost中信号的应用