[水]ZOJ1205

来源:互联网 发布:网络flash英文歌曲 编辑:程序博客网 时间:2024/05/16 01:05

20进制的高精加法

没有坑1A

#include <bits/stdc++.h>using namespace std;char a[200],b[200];int Get(char ch){    if (ch>='0'&&ch<='9')        return ch-'0';    else        return ch-'a'+10;}char rGet(int ch){    if (ch>=0&&ch<=9)        return ch+'0';    else        return ch-10+'a';}void Gao(){    int a1[200],a2[100],len1,len2,l;    memset(a1,0,sizeof(a1));    memset(a2,0,sizeof(a2));    len1=strlen(a);len2=strlen(b);    l=max(len1,len2);    for (int i=len1-1;i>=0;i--)        a1[len1-i]=Get(a[i]);    for (int i=len2-1;i>=0;i--)        a2[len2-i]=Get(b[i]);    for (int i=1;i<=l;i++)    {        a1[i]+=a2[i];        a1[i+1]+=a1[i]/20;        a1[i]%=20;    }    if (a1[l+1]>0)        l++;    for (int i=l;i>=1;i--)        printf("%c",rGet(a1[i]));    cout<<endl;}int main(){    //freopen("a.in","r",stdin);    while(scanf("%s%s",a,b)!=EOF)        Gao();    return 0;}


0 0