Advertisement
Kaidul

Reverse and Add - Java

Dec 25th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. import java.io.InputStream;
  2. import java.util.Scanner;
  3.  
  4. class Main {
  5.     private final Scanner scanner;
  6.  
  7.     Main(InputStream inputStream) {
  8.         scanner = new Scanner(inputStream);
  9.     }
  10.  
  11.     public void solve() {
  12.         long total = scanner.nextInt();
  13.         for (int i = 0; i < total; i++) {
  14.             int iteration = 0;
  15.             long number = scanner.nextInt();
  16.  
  17.             while (!isPalindrome(number)) {
  18.                 iteration++;
  19.                 String reverse = new StringBuffer("" + number).reverse().toString();
  20.                 number += Integer.valueOf(reverse);
  21.             }
  22.             System.out.println("" + iteration + " " + number);
  23.         }
  24.     }
  25.  
  26.     private boolean isPalindrome(long sum) {
  27.         String string = "" + sum;
  28.         int length = string.length();
  29.         int halfLength = string.length() / 2;
  30.         for (int i = 0; i < halfLength; i++) {
  31.             if (string.charAt(i) != string.charAt(length-1-i)) {
  32.                 return false;
  33.             }
  34.         }
  35.         return true;
  36.     }
  37.    
  38.  
  39.     public static void main(String[] args) {
  40.         new Main(System.in).solve();
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement