先輸入有幾個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