Hoodlum1980 (fafa)'s Technological Blog

Languages mainly using and digging: C / CPP, ASM, C#, Python. Other languages:Java.

博客园 首页 新随笔 联系 订阅 管理

          http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1205

          题目说明:(把题目从GOOGLE翻译的结果修改而来)

          在22世纪,科学家们发现智能居民生活在火星。火星人非常喜欢数学。每一年,他们将举行一次火星算术大赛(计算机) ,竞赛内容是计算两个100位数的和,使用时间最少的人获得冠军。今年,他们还邀请地球上的人参加竞赛。 
          作为唯一代表地球,你发送给火星以展示人类的力量。幸运的是你带去的的笔记本电脑可以帮助您快速完成工作。现在剩下的问题只是写一个小程序来计算的两个给定数字的和。然而,在你开始写程序前要注意的是,火星人使用20进制数,因为它们通常有20个手指。 

          输入: 
          给定一些火星数,每个一行。火星数是由0到9 ,和小写字母 a 至 j 组成的(小写字母a开始分别代表10 , 11 , ... , 19 )。所有给定数字的位数不会超过100 。 

          输出: 
          对于每一对数字,在一行中输出它们的和。 

          样本输入: 

          1234567890 
          abcdefghij 
          99999jjjjj 
          9999900001 

          示例输出: 

          bdfi02467j 
          iiiij00000

 

          =================================================

          此题也是一道简单题目,和前一篇文章中的题目非常类似,过程是:

          (1)解析输入的一行字符串,并保存到一个char[]中。由于输入时从最高位写到个位,而数组中从个位到高位。因此这是一个类似于把字符串逆转的过程。同时,还要把字符转换为相应的实际数值。

          (2)按照加法的法则进行计算。

          (3)输出结果。这一步必须注意一些比较特殊的情况。例如如果输入是两个0,必须能打印出“0”。

 

          完整代码如下:

Code - 1205
posted on 2009-01-10 09:48  hoodlum1980  阅读(1352)  评论(0编辑  收藏  举报