乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT乙级BasicLevelPractice 1044 火星数字
题设要求将给定的十进制数转为火星文, 以及将给定的转为十进制数。
所以核心需求是开发两个转化方法。
题设设定火星人采用13进制计数, 而0-12在个位上和在高位上有对应的表示;
所以十进制转为火星文分为两个步骤: 十进制转为13进制数, 将0-12根据所在数位, 映射成对应火星文。
进制转换的方法前面在前面的题目中多次提及, 这里不再赘述.
将0-12映射成对应的火星文是典型的转换/映射, 可以用编程语言的键值对存储映射关系, 没有键值对类型的可以使用数组存储.
这是"十进制转为火星文"的逆过程。所以分为两个步骤: 火星文映射为0-12得到13进制数, 将13进制数转为十进制数
由于火星文中不存在阿拉伯数字, 所以判断给定字符串的第一位是不是数字即可知道给定的文本是十进制数还是火星文