ZCMU-1411 喜闻乐见的a+b
Description
喜闻乐见的a+b来了,当然二进制,八进制,十进制什么的估计你们也懒得写了,来个20进制的a+b
Input
给出多组a和b,每个数字一行
数字由0~9和小写字母a~j(10~19)
给出的长度不超过100
Output
每组数据输出a+b的和。
Sample Input
1234567890
abcdefghij
99999jjjjj
9999900001
Sample Output
bdfi02467j iiiij00000
HINT
这题目类似于大数加法,只是不是10进制而是20进制,方法同大数相加一样,用字符串输入,由于数字都是高位在左低位在右与数组的习惯用法相反,我们需要先倒序处理输入的数,然后各位相加逢20进1,最后倒回来输出就OK了。
AC代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main ()
{
char s1[105],s2[105];
int a[105],b[105],c[105];
int k,m,n,x,ans,flag;
while(~scanf("%s %s",s1,s2))
{
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
int len1=strlen(s1),len2=strlen(s2);
for(int i=len1-1;i>=0;i--) //一般的数最低位在右最高位在左,需要对输入的数进行倒序处理
{
if(s1[i]>='0'&&s1[i]<='9')
a[len1-1-i]=s1[i]-'0';
else if(s1[i]>='a'&&s1[i]<='j')
a[len1-1-i]=s1[i]-'a'+10; //把a~j变成11~19以便一会的加法啊计算
}
for(int i=len2-1;i>=0;i--)//同样是倒序处理
{
if(s2[i]>='0'&&s2[i]<='9')
b[len2-1-i]=s2[i]-'0';
else if(s2[i]>='a'&&s2[i]<='j')
b[len2-1-i]=s2[i]-'a'+10;
}
int len=max(len1,len2);
for(int i=0;i<len;i++)
{
c[i]=a[i]+b[i]+c[i];
if(c[i]>=20) //20进制的进位问题
{
c[i]=c[i]-20;
c[i+1]++;
}
}
int l=max(len1,len2)+2;
while(c[l]==0&&flag>=0) //两数相加最高位没有产生进位不需要输出0 如123+321不能输出0444,要把0去掉
l--;
if(l<0)
printf("0\n");
else
{
for(int i=l;i>=0;i--)
{
if(c[i]<=9)
printf("%d",c[i]);
else
printf("%c",c[i]-10+'a'); //大于9就输出字母
}
printf("\n");
}
}
return 0;
}
ZCMU-1411 喜闻乐见的a+b相关推荐
- ZCMU 1411 喜闻乐见的a+b
Problem E: 喜闻乐见的a+b Time Limit: 1 Sec Memory Limit: 128 MB Submit: 386 Solved: 144 [Submit][Status ...
- 1411: 喜闻乐见的a+b(20进制)
分析: 本题要求进行100位以内的二十进制数字相加运算.加数和被加数的长度不一定相等.超长数字的相加,我们用字符串来处理. 先将两个字符串反转,再从第0位开始到末尾,两位依次相加,如果两位相加的结果超 ...
- 【ZCMU1411】喜闻乐见的a+b(20进制a+b)
http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1411 1411: 喜闻乐见的a+b Time Limit: 1 Sec Memory Limi ...
- zcmu Problem E: 喜闻乐见的a+b
[题目] Problem E: 喜闻乐见的a+b Time Limit: 1 Sec Memory Limit: 128 MB Submit: 363 Solved: 135 [Submit][S ...
- ZCMU 1894: Power Eggs
http://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1894 题意: 有M个鹰蛋,N层楼,鹰蛋的硬度是E,也就是说在1~E层楼扔下去不会碎,E+1层楼扔 ...
- 1411区间内的真素数2
终于有时间来改一改<1411区间内的真素数>http://www.cnblogs.com/tflsnoi/p/8026744.html这道题 1 #include<iostream& ...
- c#.net课程设计:ZCMU通讯录(待更新)
大部分参考:博客https://blog.csdn.net/qq_38899124/article/details/80813862 ...
- 信息学奥赛一本通 1411:区间内的真素数 | OpenJudge NOI 1.13 23:区间内的真素数
[题目链接] ybt 1411:区间内的真素数 OpenJudge NOI 1.13 23:区间内的真素数 [题目考点] 1. 质数 2. 数字拆分 [解题思路] 设函数判断一个数是否是质数 设函数求 ...
- 信息学奥赛一本通(1411:区间内的真素数)
1411:区间内的真素数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 17046 通过数: 6833 [题目描述] 找出正整数M和N之间(N不小于M)的 ...
- 8.0服务器维护时间,魔兽世界8.0服务器维护把玩家心态搞崩 网友:喜闻乐见
原标题:魔兽世界8.0服务器维护把玩家心态搞崩 网友:喜闻乐见 大家期待的魔兽世界最新资料片<争霸艾泽拉斯>终于在8月14日全球上线了,可能有许多单位都已经没人了吧,都请假回家肝等级去了. ...
最新文章
- C++中string erase函数的使用
- 使用office生成PDF文件
- opengl win32 nehe
- CSS控制的内容超过容器宽度后显示省略号
- android studio smssdk,SMSSDK for Android 配置
- ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR
- 印度将推出太阳能光伏制造政策
- B/S页面通用数据权限控制[转]
- endnote文献顺序编号不对_lbrack;求助rsqb;NoteExpress插入文献文章经修改后序号顺序不对如何修改...
- iOS中 语音识别功能/语音转文字教程详解
- win 10系统语言栏不见了怎么办?
- Flutter Dart 数字转成中文金额大写
- FreeRTOS 遇坑(1)
- spark常见转换算子(transformation)的操作
- Redis-设置过期时间及淘汰策略
- C++ register 关键字
- 小程序(原生) 引入weUI组件
- python识别颜色并提取轮廓_pythonopencv检测并提取目标颜色
- mysql 两表去重_mysql两表合并去重
- 经济数据预测 | Python实现CNN-LSTM股票价格预测时间序列预测
热门文章
- 印第安人的捕梦网 Dreamcatcher 与音乐——排箫
- UVA 11549 模拟 Floyed判圈法的应用 Calculator Conundrum
- Calculator Conundrum
- 查看进程名称 linux,在Linux系统服务器按名称查找进程的命令
- pdf.js使用方法
- HTML+CSS制作DNA双螺旋结构
- 计算机组成与嵌入式系统 百度云,计算机组成及嵌入式系统.pdf
- 她是一位中学计算机老师的英文,计算机柳城中学英语组 讲课老师 : 陈文化.ppt...
- 少林寺、孔子网站被黑
- 【今日CV 计算机视觉论文速览 第140期】Wed, 3 Jul 2019