1006. 换个格式输出整数 (15)
时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。
输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。
输出格式:每个测试用例的输出占一行,用规定的格式输出n。
输入样例1:234输出样例1:
BBSSS1234输入样例2:
23输出样例2:
SS123
package source.PTA; import java.util.Scanner; public class PTA1006 { private int data; private String bit[] = {"","S","B","Q","W","A","V","Z","Y"}; private boolean flag; private StringBuilder temp; private int index; public PTA1006(int data) { this.data = data; this.flag = true; index = 0; } public void getOutput(int data) { int a = data % 10; if (0 == data) { return; } data /= 10; if(flag) { flag = false; index++; temp = new StringBuilder() ; for(int i = a; i > 0; i--) { temp.append(i); } getOutput(data); } else { for(int i = 0; i < a; i++) { temp.append(bit[index]); } index++; getOutput(data); } } public String getString() { return temp.reverse().toString(); } public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int data = sc.nextInt(); PTA1006 test = new PTA1006(data); test.getOutput(data); System.out.println(test.getString()); } }