高精度加法模板
2014-09-04 13:51
239 查看
哎!说来惭愧,从高一刚开始学时,高精度就没写对过。今天猛然想起,打个模板。
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
char A[405],B[405];
int a[405],b[405],c[405],la,lb;
void change()
{
int i,t;
for(i=0;i<=(la-1)>>1;i++)
{t=(int)A[i]-'0'; a[i]=(int)A[la-1-i]-'0'; a[la-1-i]=t;}
for(i=0;i<=(lb-1)>>1;i++)
{t=(int)B[i]-'0'; b[i]=(int)B[lb-1-i]-'0'; b[lb-1-i]=t;}
}
void add()
{
int l,i,j,s,t=0;
l=max(la,lb);
for(i=0;i<l;i++)
{c[i]=a[i]+b[i]+t;
t=c[i]/10; c[i]=c[i]%10;
}
if(t!=0) {c[l]=t; l++;}
for(i=l-1;i>=0;i--) printf("%d",c[i]);
printf("\n");
}
int main()
{
while(scanf("%s",A)!=EOF)
{scanf("%s",B);
la=strlen(A); lb=strlen(B);
memset(a,0,sizeof(a)); memset(b,0,sizeof(b));
change(); add();
}
return 0;
}
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
char A[405],B[405];
int a[405],b[405],c[405],la,lb;
void change()
{
int i,t;
for(i=0;i<=(la-1)>>1;i++)
{t=(int)A[i]-'0'; a[i]=(int)A[la-1-i]-'0'; a[la-1-i]=t;}
for(i=0;i<=(lb-1)>>1;i++)
{t=(int)B[i]-'0'; b[i]=(int)B[lb-1-i]-'0'; b[lb-1-i]=t;}
}
void add()
{
int l,i,j,s,t=0;
l=max(la,lb);
for(i=0;i<l;i++)
{c[i]=a[i]+b[i]+t;
t=c[i]/10; c[i]=c[i]%10;
}
if(t!=0) {c[l]=t; l++;}
for(i=l-1;i>=0;i--) printf("%d",c[i]);
printf("\n");
}
int main()
{
while(scanf("%s",A)!=EOF)
{scanf("%s",B);
la=strlen(A); lb=strlen(B);
memset(a,0,sizeof(a)); memset(b,0,sizeof(b));
change(); add();
}
return 0;
}
相关文章推荐
- 高精度 大数加法 乘法 除法 幂 模板
- 高精度-小数加法【模板】
- 高精度加法模板
- uva 424 Integer Inquiry(高精度加法模板) uva 10106 Product(高精度乘法模板)
- 高精度加法模板
- 模板总结——高精度加法
- 高精度加法模板
- A+B problem (压8位高精度加法模板)
- 高精度加法模板
- 高精度之加法模板
- 高精度加法模板
- 高精度加法模板
- 我的高精度加法模板
- 高精度 大数加法 乘法 除法 模板
- 【[Offer收割]编程练习赛13 D】骑士游历(矩阵模板,乘法,加法,乘方)
- 蓝桥杯 VIP 基础练习 高精度加法
- 高精度模板第一次修订版
- 华为机试:无线OSS-高精度整数加法、矩阵乘法计算量估算
- 高精度大数运算模板
- 高精度bign模板(暂定+-*)