1168:大整数加法
Posted jzxnl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1168:大整数加法相关的知识,希望对你有一定的参考价值。
传送门:http://ybt.ssoier.cn:8088/problem_show.php?pid=1168
用字符将其读入,随后倒记在整数数组(一位一个数字)中(避免没地方好进位),加后进位,最后去掉多余的零,OK
1 #include<iostream> 2 #include<cstring> 3 #define N 210 4 using namespace std; 5 int as[N],bs[N],lena,lenb; 6 string a,b; 7 int main() 8 cin>>a>>b; 9 lena=a.size(); 10 lenb=b.size(); 11 for(int i=0;i<lena;i++)as[i]=a[lena-i-1]-‘0‘; 12 for(int i=0;i<lenb;i++)bs[i]=b[lenb-i-1]-‘0‘; 13 int length=max(lena,lenb); 14 for(int i=0;i<length;i++)as[i]+=bs[i]; 15 for(int i=0;i<length;i++) 16 if(as[i]>9) 17 as[i+1]++; 18 as[i]-=10; 19 if(i==length-1)length++; 20 21 22 while(length&&as[length]==0)length--; 23 for(int i=length;i>=0;i--)cout<<as[i]; 24 cout<<endl; 25
以上是关于1168:大整数加法的主要内容,如果未能解决你的问题,请参考以下文章
ZZNUOJ_用C语言编写程序实现1168:大整数(指针专题)(附完整源码)