先輸入有幾個test case,然後逐一輸入test case的數字
下面是程式碼片段
Scanner sc = new Scanner(System.in);
int testCase = sc.nextInt();
int[][] number = new int[testCase][2];
for(int i = 0; i < testCase; i++) {
number[i][0] = sc.nextInt();
number[i][1] = 0;
}
for(int i = 0; i < testCase; i++) {
// not the same after reverse
while(reverse(number[i][0]) != number[i][0]) {
// add number and its' reverse
number[i][0] = reverse(number[i][0]) + number[i][0];
// reverse time++
number[i][1]++;
}
}
for(int i = 0; i < number.length; i++) {
System.out.println(number[i][1] + " " + number[i][0]);
}
}
int reverse(int number) {
StringBuffer buffer = new StringBuffer();
int length = String.valueOf(number).length();
for(int i = 0; i < length; i++) {
int rest = number % 10;
buffer.append(rest);
number = number / 10;
}
return Integer.parseInt(new String(buffer));
}
※註
number[i][0]存放testcase
number[i][1]存放反轉次數
No comments:
Post a Comment