HUD-1002(大位数加法)
来源:互联网 发布:网络彩票赌博怎么举报 编辑:程序博客网 时间:2024/05/16 11:09
思想: 运用字符串和整数的转换关系,然后模拟手写运算从后往前依次计算;详细参考【 大数加减乘除】
AC代码;
#include <iostream> #include <cstdio> #include <cstring> #include <map> #include <algorithm> #include <sstream> #include <cctype> #include <set> #include <string> #include <stack> #include <vector>using namespace std;const int N = 1050;typedef long long LL;const int inf = 0x3f3f3f3f;LL numA[N];LL numB[N];void resetnumA(string numAStr){ memset(numA,0,N*sizeof(LL)); for(int i=0;i<numAStr.length();i++) { numA[i]=numAStr[numAStr.length()-i-1]-'0'; }}void resetnumB(string numBStr){ memset(numB,0,N*sizeof(LL)); for(int i=0;i <numBStr.length();i++) { numB[i]=numBStr[numBStr.length()-i-1]-'0'; }}string getnumString(LL *num){ string numString; int f=0; for(int i=N-1;i>=0;i--) { if(num[i]!=0) f=1; if(f) numString+=num[i]+'0'; } return numString;}string plusn(string numAStr,string numBStr){ resetnumA(numAStr); resetnumB(numBStr); for(int i=0;i<N;i++) { numA[i]=numA[i]+numB[i]; if(numA[i]>9) { numA[i+1]++; numA[i]-=10; } } return getnumString(numA);}int main(){ string numAStr,numBStr; int t,y=1; cin>>t; while(t--) { cin>>numAStr>>numBStr; cout<<"Case "<<y++<<":"<<endl; cout<<numAStr<<" + "<<numBStr<<" = "<<plusn(numAStr,numBStr)<<endl; if(t) cout<<endl; } return 0;}
阅读全文
0 0
- HUD-1002(大位数加法)
- 大位数加法和乘法模版
- c代码实现的大位数的加法
- 高精度整数加法(大整数加法)
- 高精度(大整数加法)
- 大整数运算(加法)
- 大整数运算(加法)
- 大整数加法(函数)
- HDU-1002 A + B Problem II(大整数加法)
- 大位数
- bfs专题之HUD 1429 胜利大逃亡(续)
- 杭电1002大整数加法
- hdu 1002 大整数加法模板
- HDU 1002 高精度 大数据加法
- 大整数加法(局部修改)
- NYOJ103 A+BProblemII(大整数加法)
- hulu面试(大整数加法)
- leetCode_Multiply Strings(大位数相乘)
- MySQL 数据库设计总结
- LeetCode-4-Median-of-Two-Sorted-Arrays 递归求两有序数组第k小
- [Noip2016]换教室 解题报告
- 【Linux学习笔记】25:用户自定义变量
- NYOJ 2356 哈希计划(模拟)
- HUD-1002(大位数加法)
- jeecms系统使用介绍
- UVALive 4764 Bing it
- ConstraintLayout can not resolve symbol 'parent'
- 数学建模(7)——蒙特卡罗算法(Monte Carlo)
- linux-mysql-5.7.18-安装步骤
- 【MySQL】批量数据循环插入
- 通过Uri跳转Activity(当然对于WebView中的网页同样适用)
- 线段树模板