高精度之加法模板
2016-09-17 15:13
309 查看
#include<cstdio> #include<string> #include<iostream> #include<algorithm> using namespace std; string s1,s2; int a[520],b[520],c[520],l1,l2,len; inline void chuli() { l1=s1.size();l2=s2.size(); reverse(s1.begin(),s1.end()); for(int i=0;i<l1;i++) a[i+1]=s1[i]-'0'; reverse(s2.begin(),s2.end()); for(int i=0;i<l2;i++) b[i+1]=s2[i]-'0'; } inline void pluss() { len=max(l1,l2); for(int i=1;i<=len;i++) { c[i]+=a[i]+b[i]; if(c[i]>9) { int t=c[i]/10; c[i]%=10; c[i+1]=t; } } len++; while((c[len]==0)&&len>1) len--; } inline void print() { for(int i=len;i>0;i--) printf("%d",c[i]); printf("\n"); return; } int hh() { cin>>s1>>s2; chuli(); pluss(); print(); } int hhh=hh(); int main() {;}
相关文章推荐