大整数求和
来源:互联网 发布:java员工薪资管理 编辑:程序博客网 时间:2024/05/23 00:41
vector<int> BigNumAdd(vector<int> vec1, vector<int> vec2){vector<int> num;int flag=0, temp,i;//flag为进位标识vector<int>::iterator iter1=vec1.begin();vector<int>::iterator iter2 = vec2.begin();for ( i = 0; i < vec1.size() && i < vec2.size(); i++)//逐位进行相加计算{temp = (*iter1 + *iter2) % 10+flag;flag = (*iter1 + *iter2) / 10;num.push_back(temp);iter1++;iter2++;}if (vec1.size()>vec2.size()) //计算大整数vec1的剩余部分{for (; iter1 != vec1.end(); iter1++){temp = (*iter1 + flag) % 10;flag = (*iter1 + flag) / 10;num.push_back(temp);}}if (vec2.size()>vec1.size()) // 计算大整数vec2的剩余部分{for (; iter2 != vec1.end(); iter2++){temp = (*iter2 + flag) % 10;flag = (*iter2 + flag) / 10;num.push_back(temp);}}if (flag == 1) //若最后有进位,则最终结果会多出一位num.push_back(1);return num;}
测试范例:
1 2 3 4 5 6 7 8 9
+1 3 5 7 9 9 9 9
2 5 8 1 5 6 7 8 0 1
低位 ----> 高位
int main(){vector<int> vec1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };vector<int> vec2 = { 1, 3, 5, 7, 9, 9, 9, 9 };vector<int>res = BigNumAdd(vec1, vec2);for (vector<int>::iterator iter = res.begin(); iter != res.end(); ++iter)cout << *iter << " ";return 0;
0 0
- 大整数求和
- 大整数求和
- 大整数求和
- PHP大整数求和
- 输入两个大整数,求和
- 大整数求和算法Add
- PHP大整数求和-arr
- POJ 2602 Superlong sums 大整数求和
- 【忙啊忙】- 两个字符串的大整数求和
- 线性表之大整数求和
- hdu 1047 Integer Inquiry(大整数求和)
- 利用数组结构实现大整数求和
- 整数求和
- 整数求和
- 整数求和
- 整数求和
- 整数求和
- java数据结构之顺序表应用之大整数求和
- Ubuntn 操作系统学习笔记之日志介绍
- JavaScript跨域总结与解决办法
- 应该有新的编程起点
- STL 智能指针
- 阿里比赛排名获取
- 大整数求和
- php 将csv文件内容导入数据库时值为空的解决
- XMPP使用TLS和auth登录
- Java数据库连接-JNDI方式- 配置Tomcat6.0 连接池
- hdu 1017 A Mathematical Curiosity(水题)
- 【游戏课】技术片段之——四元数与旋转矩阵的关系
- JAVA中continue的用法例子
- Multiple Instance Learning
- Android WifiDisplay分析一:相关Service的启动