题目:http://acm.hdu.edu.cn/showproblem.php?pid=2100

根据题目意思,现将字符串转化为10进制,再采用10进制加法相加,再转化为26进制.

另一种直接的思路是:采用26进制,模拟加法过程.

思路:用字符串存储两个26进制的数,然后在前面补A(相当于十进制中的0),使两个数对齐,以便进行加法进位.对齐之后,采用26进制,进行加法运算,运算得到的数字,再转化为对应的字符,即可.

C++代码如下:

#include<iostream>
#include<string>
#include<string.h>
using namespace std; int main()
{
string s1,s2;
int i,j;
while(cin >> s1 >> s2)
{
int len_1 = s1.length();
int len_2 = s2.length();
if(len_1<len_2)
{
s1.swap(s2);
int temp = len_1;
len_1 = len_2;
len_2 = temp;
}
s1 = 'A' + s1;
for(i=len_2;i<=len_1;i++)
s2 = 'A'+ s2;
//至此,s1和s2已经对齐了,并且前面至少都有一个A,用于进位 int len = s1.length();
int c = 0;
for(i=len-1;i>=0;i--)
{
int x = s1[i] - 'A';//获取字符 s1[i]对应的数字,如s1[i] = 'C',则s[i]-'A' = 2;
int y = s2[i] - 'A'; c += (x+y);
s1[i] = (c%26) + 'A';//结果存储在 s1中
c /= 26;
} for(i=0;i<len;i++)
if(s1[i]!='A')//输出的时候,前导A不输出
break;
for(j=i;j<len;j++)
cout << s1[j];
cout << endl;
} return 0;
}

上述代码,提交可以通过.

最新文章

  1. linux 连接到阿里云服务器
  2. [KOJ95603]全球奥运
  3. CentOS用yum安装、配置MariaDB
  4. 教你轻松看懂 iOS9 新功能
  5. java实现excel与mysql的导入导出
  6. jquery 提示信息显示后自动消失的具体实现
  7. 对Verilog 初学者比较有用的整理(转自它处)
  8. C51-keil编译常见错误和警告处理53
  9. 在js中如何得到上传文件的大小。
  10. Linux配置tomcat (centos配置java环境 tomcat配置篇 总结三)
  11. vijos1760题解
  12. Web的架构与html5基础知识
  13. filebeat.yml(中文配置详解)
  14. CodeForces 914DBash and a Tough Math Puzzle(线段树的骚操作)
  15. VUE+webpack+npm项目中的RSA加解密
  16. [BZOJ 4817] [SDOI 2017] 树点涂色
  17. matplotlib散点数据-【老鱼学matplotlib】
  18. Jsp的table导出Excel
  19. ALTER添加列后,立即UPDATE该列会报错
  20. [arm学习]makefile学习总结

热门文章

  1. springboot缓存开发
  2. 新的JavaScript数据结构Streams
  3. 玲珑杯”ACM比赛 Round #19 B 维护单调栈
  4. Land of Farms HDU - 5556 二分图匹配
  5. 字符串:AC自动机
  6. unZip/Zip的安装
  7. JAVA多线程提高三:线程范围内共享变量&amp;ThreadLocal
  8. 【BZOJ】3302: [Shoi2005]树的双中心 &amp;&amp; 2103: Fire 消防站 &amp;&amp; 2447: 消防站
  9. canvas h5制作写字板
  10. javac -cp java -cp