2 条题解
-
1
1001. 高精度 A+B Problem
题目大意
给出两个数 ,输出 。
思路
注意数据范围!!
如果直接用普通整数类型的话,炸不死你。
所以需要使用高精度算法,具体见OI-wiki。
简单来说就是字符串输入输出,然后一位一位加起来。
所以就简简单单打个A+B就行了。
正解
#include<cstdio> #include<cstring> #include<algorithm> char a[160], b[160]; int ai[160],bi[160]; int main() { scanf("%s%s",a,b); int lena=strlen(a), lenb=strlen(b); for(int i=0,j=lena-1;j>=0;j--,i++) { ai[i]=a[j]-'0'; } for(int i=0,j=lenb-1;j>=0;j--,i++) { bi[i]=b[j]-'0'; } for(int i=0;i<std::max(lena,lenb);i++) { ai[i]+=bi[i]; if(ai[i]>=10&&i!=std::max(lena,lenb))ai[i]-=10,ai[i+1]++; } for(int i=std::max(lena,lenb)-1;i>=0;i--)printf("%d",ai[i]); }
- 1
信息
- ID
- 4
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- 递交数
- 31
- 已通过
- 7
- 上传者