hdu1002

来源:互联网 发布:淘宝上全球购什么意思 编辑:程序博客网 时间:2024/06/05 17:10

hdu1002题解

算法

高精度,我用了最单纯暴力的高精度,反正是ac了

坑在输出格式,详见代码

然后上代码

#include<iostream>#include<cstdio>#include<cstring>using namespace std;int a1[100000],a2[100000];int main(){    int t;    scanf("%d",&t);    string s1,s2;    int a1[1000],a2[1000],c[1000];    for(int j=1;j<=t;j++)    {        memset(a1,0,sizeof(a1));        memset(a2,0,sizeof(a2));        memset(c,0,sizeof(c));        cin>>s1>>s2;        a1[0]=s1.length();        a2[0]=s2.length();        for(int i=1;i<=a1[0];i++) a1[i]=s1[a1[0]-i]-'0';        for(int i=1;i<=a2[0];i++) a2[i]=s2[a2[0]-i]-'0';        int n=max(s1.length(),s2.length());        for(int i=1;i<=n;i++)        {            c[i]=a1[i]+a2[i]+c[i];            if(c[i]>=10) {c[i]%=10;c[i+1]++;}        }         printf("Case %d:\n",j);        cout<<s1<<" + "<<s2<<" = ";        for(int i=n+1;i>=1;i--) {if(i==n+1) if(c[i]==0) continue; printf("%d",c[i]);}        printf("\n");        if(j!=t) printf("\n");    }    return 0;}

就这样高精度,没啥