pat 1044.火星数字 Java版
来源:互联网 发布:淘宝首页排版要求 编辑:程序博客网 时间:2024/06/05 00:35
个人网站:http://39.106.25.239/
火星人是以13进制计数的:
地球人的0被火星人称为tret。
地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。
火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer, jou。
例如地球人的数字“29”翻译成火星文就是“hel mar”;而火星文“elo nov”对应地球数字“115”。为了方便交流,请你编写程序实现地球和火星数字之间的互译。
输入格式:
输入第一行给出一个正整数N(<100),随后N行,每行给出一个[0, 169)区间内的数字 —— 或者是地球文,或者是火星文。
输出格式:
对应输入的每一行,在一行中输出翻译后的另一种语言的数字。
输入样例:
4
29
5
elo nov
tam
输出样例:
hel mar
may
115
13
我的思路就是通过判断输入的字符串的第一个字符是否是字母来判别他是数字还是火星字,如果是火星字 在判断是否有空格 如果有分别在数组里对应查找匹配 然后 进位数*13+低位数 就是地球数字了
如果数字大于13 :火星数字的高位为 数字/13 低位为数字%13
等于13 或者等于13的倍数要注意不要输出低位的零了!
如果小于13则对应输出就行了
import java.io.BufferedInputStream;
import java.util.Scanner;
public class Main1044 {
public static void main(String[] args) { Scanner scan = new Scanner(new BufferedInputStream(System.in)); int N= scan.nextInt(); if(N>=100){ return; } String input = ""; String a[] ={"tret","jan", "feb", "mar", "apr", "may", "jun", "jly", "aug", "sep", "oct", "nov", "dec"}; String b [] ={"tret","tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mer", "jou"}; int jinwei=0; int diwei =0; int temp; scan.nextLine(); String inputs[]=new String[2]; for(int i=0;i<N;i++){ input=scan.nextLine(); if(input.charAt(0)-'a'>=0 && input.charAt(0)-'a'<=25){ if(input.contains(" ")){ inputs=input.split(" "); for(int j=0;j<=12;j++){ if(b[j].equals(inputs[0])){ jinwei = j*13; }if(a[j].equals(inputs[1])){ diwei= j; } } System.out.println(jinwei+diwei); }else{ for(int j=0;j<b.length;j++){ if(a[j].equals(input)){ System.out.println(j); break; }if(b[j].equals(input)){ System.out.println(j*13); break; }else if(j==b.length-1){ System.out.println(13); } } } }else{ temp=Integer.parseInt(input); if(temp>=169){ return; }else if(temp>=0&&temp<13){ System.out.println(a[temp]); }else{ jinwei = temp/13; diwei = temp % 13; if(diwei==0){ System.out.println(b[jinwei]); }else{ System.out.println(b[jinwei]+" "+a[diwei]); } } } }}
}
- pat 1044.火星数字 Java版
- PAT 乙级 1044. 火星数字(20) Java版
- PAT 1044.火星数字
- pat 1044. 火星数字
- 【PAT】1044. 火星数字(20)
- PAT-B 1044. 火星数字
- PAT-B 1044. 火星数字
- [PAT-乙级]1044.火星数字
- 1044. 火星数字(20) PAT
- PAT (Basic Level)1044. 火星数字
- C++ - PAT - 1044. 火星数字(20)
- PAT 乙级 1044. 火星数字(20)
- PAT BASIC LEVEL 1044. 火星数字(20)
- 1044. 火星数字(20)-PAT乙级
- PAT 乙级 1044. 火星数字(20)
- PAT乙级 1044. 火星数字(20)
- PAT乙级 1044. 火星数字(20)
- [PAT乙级]1044. 火星数字(20)
- php知识复习
- PAT Basic 1022
- HDOJ2097 Sky数
- Reactjs入门官方文档(六)【conditional-rendering】
- Java开发练习6,图形界面
- pat 1044.火星数字 Java版
- PREV-3 带分数
- gdb使用
- vim编辑C++的小小心得
- windows ssh软件下载
- 高德地图功能,打release包报错崩溃
- C++11 标准新特性:委派构造函数
- 数据结构--单向链表3
- C++学习之友元函数(一)