小A的计算器
来源:互联网 发布:javascript按钮弹窗 编辑:程序博客网 时间:2024/06/06 02:47
题目描述
以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示。
现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?
现在小A要在这个操作系统上实现一个计算器,这个计算器要能实现26进制数的加法运算。你能帮小A实现这个计算器吗?
输入
输入的第一行包括一个整数N(1<=N<=100)。
接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。即每个数的各个位均由26个小写字母a-z中的一个来表示。
接下来的N行每行包括两个26进制数x和y,它们之间用空格隔开,每个数的位数最多为10位,我们可以保证相加的结果的位数最多也是10位。每个数会用小A所设计的操作系统中的表示方法来表示,如:bsadfasdf。即每个数的各个位均由26个小写字母a-z中的一个来表示。
输出
输出x和y相加后的结果,结果也要用题目中描述的26进制数来表示。
样例输入
4ba cdc bb cba c
样例输出
ddddbc
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(void){ int N; char a[16],b[16]; int sum[16]; int la,lb; int i,j,k; while(scanf("%d",&N) != EOF){ while(N--){ memset(sum,0,16 * sizeof(int)); scanf("%s%s",a,b); la = strlen(a); lb = strlen(b); for(i=la-1,j=lb-1,k=0;i>=0 && j >= 0;--i,--j){ sum[k++] = a[i]-'a' + b[j] - 'a'; } if(i<0 && j>=0){ for(;j>=0;j--) sum[k++] = b[j] - 'a'; } if(i>=0 && j<0){ for(;i>=0;i--) sum[k++] = a[i] - 'a'; } for(i=0;i<k;i++){ sum[i+1] = sum[i+1] + sum[i] / 26; sum[i] = sum[i] % 26; } for(i=k+1;i>=0;i--){ if(sum[i] != 0) break; } if(i== -1) printf("a"); for(;i>=0;i--) printf("%c",'a'+ sum[i]); printf("\n"); } } return 0;}
0 0
- 小A的计算器
- 小A的计算器
- 1047: 小A的计算器
- 问题 : 小A的计算器
- 九度1340 小A的计算器 Jobdu 1340
- 九度 题目1340:小A的计算器(35分)
- 简单的小计算器
- 简单的小计算器
- 微软计算器的小技巧
- 关于计算器的小程序
- 一个小的分页计算器
- Applet写的小计算器
- 工资计算器的小demo
- 九度OJ 1340:小A的计算器 (进制转换)
- 一个小的计算器的实现
- 带有小计算器的TextBox控件(原创)
- 用C#编写的计算器小程序
- 带有小计算器的TextBox控件[转]
- 51nod矩阵取数问题V2
- 魔咒词典
- 多线程变量--- 线程安全的queue
- MeasureSpec学习—对Integer.MAX_VALUE >> 2的认识
- 小试牛刀-前端预加载技术
- 小A的计算器
- 【MySQL性能优化】系列目录
- Apache反向代理
- 去哪——寻找Coder
- Spark Scheduler
- Android ToolBar的开发总结
- hdu1443 Joseph
- 114. Flatten Binary Tree to Linked List
- iOS 利用OpenGLES画一个带多重纹理的旋转的立方体