/*
char str[13] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K'}; 当要类型转化时,例如 算出来是1 但是要变成字符'1',那就创建一个char 数组 里面对应数字和字符。
123456789字符串 用 for(int i=0;i<len;i++) swap(s[i],s[len-1-i]) 变成 987654321
在字符串末尾str后面添加多少X位,之后字符串长度变成len+X str
——这里用J代表10、Q代表11、K代表12;
对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。
这里令个位为第1位。
输入样例:
1234567 368782971
输出样例:
3695Q8118
*/
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a,b,c;
cin>>a>>b;
int lena,lenb;
lena=a.length();
lenb=b.length();
char str[13] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'J', 'Q', 'K'};
//////////////////////////////////////////////
for(int i=0;i<=lena/2-1;i++)
swap(a[i],a[lena-i-1]); ////////////////////////
for(int i=0;i<=lenb/2-1;i++)
swap(b[i],b[lenb-1-i]);
if(lena>lenb)
{
b.append(lena-lenb,'0'); //////////////////////
}
else
{
a.append(lenb-lena,'0'); //a.length()=9
}
cout<<a<<endl;
cout<<b<<endl;
int f=a.length();
for(int i=0;i<f;i++)
{
int temp=0;
if(i%2!=0)
{
temp=(b[i]-'0')-(a[i]-'0');///////////////////////////
if(temp<0)temp=temp+10;
//c[i]=str[temp];会错误
c+=str[temp]; //////////////////////////
}
else
{
temp=((b[i]-'0')+(a[i]-'0'))%13;
//c[i]=str[temp]; 会错误
c+=str[temp];//字符串连接 C+=要加入的字符
}
}
cout<<c;
return 0;
}