版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuan_zizizi/article/details/82560180
代码:
# include<iostream>
# include<string>
using namespace std;
//字符转10进制
long change1(string str, int len)
{
long re = 0;
for (int i = 0; i < len; i++)
{
re += (str[i] - 'a')*pow(26, len - i - 1);
}
return re;
}
//10进制转26进制
string change2(long number)
{
long a = 0;
int count = 0;
string result;
string s1;;
if ((number / 26) == 0)
{
s1 = number + 'a';
result = result + s1;
}
else
{
while (number)
{
a = number % 26;
number = number / 26;
s1 = a + 'a';
result = result + s1;
}
}
return result;
}
int main()
{
string str1;
str1 = str1 + 'a';
str1 = str1 + 'b';
string str2;
cin >> str1;
cin >> str2;
int len1 = str1.length();
int len2 = str2.length();
long result1 = change1(str1, len1);
long result2 = change1(str2, len2);
long result = result1 + result2;
string s3 = change2(result);
reverse(s3.begin(), s3.end());
cout << s3 << endl;
}