1205:计算两个二十进制数的和
Sample Input:
1234567890
abcdefghij
99999jjjjj
9999900001
Sample Output:
bdfi02467j
iiiij00000
值和字符间的转换关系
int convertToInt(char src)
{
if(src>='0'&&src<='9')
return src-'0';
else if(src>='a'&&src<='j')
return src-'a'+10;
}
char convertToChar(int src)
{
if(src<10)
return '0'+src;
else
return 'a'+src-10;
}
两个数字可能不一样长,分别控制。
进位的问题,先不考虑,得到和后再处理。
从末尾开始相加,和值先逆序存储,方便操作。
int main()
{
string s1,s2;
while(cin>>s1>>s2)
{
int i,j,t=0;
int a[101]={0};
for(i=s1.size()-1,j=s2.size()-1;i>=0||j>=0;i--,j--,t++)
{
//转换成数字
//独立贡献加
if(i>=0)
a[t]+=convertToInt(s1[i]);
if(j>=0)
a[t]+=convertToInt(s2[j]);
//进位
if(a[t]>=20)
{
a[t+1]+=1;
a[t]%=20;
}
}
//倒序输出
if(a[t]!=0)cout<<a[t];
for(i=t-1;i>=0;i--)
cout<<convertToChar(a[i]);
cout<<endl;
}
return 0;
}
分享到:
相关推荐
zoj网站中多个练习的c++解答,文件名即为题目序号。经本人测试可以使用,主要为动态规划方面的问题,希望给初学者提供帮助。
ZOJ完全解题报告,喜欢ACM的同学,欢迎下载
zoj 1140-zju 2433 简单题的部分答案 都是可以正确通过的,简洁易懂
zoj 3590 -3+1.md
ZOJ题解集合-截至2835。共1244个文件,C/C++,有重复
ZOJ解题报告ZOJ解题报告ZOJ解题报告ZOJ解题报告
ZOJ 1055 Oh, Those Achin Feet.bfs求最短路径.
zoj 3212 K-Nice.md
zoj题目简单归类zoj题目简单归类zoj题目简单归类
zoj 2561 Order-Preserving Codes.md
acm中zoj1002的可运行C++程序
NULL 博文链接:https://weitch.iteye.com/blog/1006972
包含了zoj700多道题目的源代码,在做题时可以参考
Problem Arrangement zoj 3777
ZOJ题目答案源码
学习ACM程序设计的朋友一定要看,这是训练必备的POJ ZOJ题目分类及解题思路
一个非常非常非常非常实用的zoj结题代码
浙大ZOJ题目分类,可以让你更方便快速锁定那你想要联系的题目,是自己快速提高·
zoj 1003 c语言的,要写这么多描述吗。。
本代码是zoj上AC的1951的代码,把双重循环简化为O(n),不过素数判断的改进还不够