[PAT] 1027 Colors in Mars (20 分) Java
People in Mars represent the colors in their computers in a similar way as the Earth people. That is, a color is represented by a 6-digit number, where the first 2 digits are for Red
, the middle 2 digits for Green
, and the last 2 digits for Blue
. The only difference is that they use radix 13 (0-9 and A-C) instead of 16. Now given a color in three decimal numbers (each between 0 and 168), you are supposed to output their Mars RGB values.
Input Specification:
Each input file contains one test case which occupies a line containing the three decimal color values.
Output Specification:
For each test case you should output the Mars RGB value in the following format: first output #
, then followed by a 6-digit number where all the English characters must be upper-cased. If a single color is only 1-digit long, you must print a 0
to its left.
Sample Input:
15 43 71
Sample Output:
#123456
1 package pattest; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 7 /** 8 * @Auther: Xingzheng Wang 9 * @Date: 2019/2/21 20:59 10 * @Description: pattest 11 * @Version: 1.0 12 */ 13 public class PAT1027 { 14 static final int size = 3; 15 static char[] num = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C'}; 16 17 public static void main(String[] args) throws IOException { 18 BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 19 String[] split = reader.readLine().split(" "); 20 System.out.print("#"); 21 22 for (int i = 0; i < size; i++) { 23 StringBuilder stringBuilder = new StringBuilder(); 24 int n = Integer.parseInt(split[i]); 25 do { 26 stringBuilder.append(num[n % 13]); 27 n %= 13; 28 } while (n != 0); 29 if (stringBuilder.length() <= 1) 30 System.out.print(num[0]); 31 System.out.print(stringBuilder.reverse().toString()); 32 } 33 } 34 }