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());
}
}