全部评论 2

  • #include <bits/stdc++.h>
    #include <cctype>
    using namespace std;
    const int MAXN = 2e3 + 5;
    int r, a[MAXN], b[MAXN], c[MAXN];

    #include <bits/stdc++.h>
    using namespace std;

    char a[4000],b[4000],c[4000];
    int n;
    char num[36]={
    '0','1','2','3','4','5','6','7','8','9',
    'A','B','C','D','E','F','G','H','I','J',
    'K','L','M','N','O','P','Q','R','S','T',
    'U','V','W','X','Y','Z'
    };

    3天前 来自 黑龙江

    1
  • #include <bits/stdc++.h>
    using namespace std;

    char a[4000],b[4000],c[4000];
    int n;
    char num[36]={
    '0','1','2','3','4','5','6','7','8','9',
    'A','B','C','D','E','F','G','H','I','J',
    'K','L','M','N','O','P','Q','R','S','T',
    'U','V','W','X','Y','Z'
    };

    int bj(char char1,char char2,int d)//B进制相加,得出结果,注意结果是整数类型
    {
    int n1,n2;
    if('0'<=char1 and char1 <= '9')
    {
    n1 = char1 - '0';
    }
    else if ('A'<=char1 and char1 <= 'Z'){
    n1 = char1 - 'A' + 10;
    }
    else{
    n1 = 0;
    }
    if('0'<=char2 and char2 <= '9')
    {
    n2 = char2 - '0';
    }
    else if ('A'<=char2 and char2 <= 'Z'){
    n2 = char2 - 'A' + 10;
    }
    else{
    n2 = 0;
    }
    return n1+n2+d;
    }

    string adds(string s1,string s2)
    {
    for(int i=0;i<s1.length();i++)
    {
    a[i] = s1[s1.length()-1-i];
    }
    for(int i=0;i<s2.length();i++)
    {
    b[i] = s2[s2.length()-1-i];
    }
    int d=0;
    int lang = max(s1.length(),s2.length());
    for (int i=0;i<lang ;i++)
    {
    int q=bj(a[i],b[i],d);
    if(q>=n)
    {
    d=1;
    }
    else
    {d=0;}
    c[i]=num[q%n];
    }
    if(d!=0){
    c[lang]=num[d];
    }
    else{
    lang--;
    }
    string s3="";
    int i=lang;
    for(;c[i]=='0';i--);

    for(;i>=0;i--)
    	s3+=c[i];
    
    return s3;
    

    }

    int main()
    {
    cin>>n;
    string m1,m2;
    cin>>m1>>m2;
    cout<<adds(m1,m2);

    return 0;
    

    }

    3天前 来自 黑龙江

    1
暂无数据

提交答案之后,这里将显示提交结果~

首页