eniallator

Project Euler | Problem 4

Sep 26th, 2018
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.04 KB | None | 0 0
  1. public class Prob4 {
  2.     private static String reverse(String arg) {
  3.         String reversed = "";
  4.  
  5.         for (int i = arg.length() - 1; i >= 0; i--) reversed += arg.substring(i, i + 1);
  6.  
  7.         return reversed;
  8.     }
  9.  
  10.     public static void main(String[ ] args) {
  11.         int digits = 2, largest = 0;
  12.  
  13.         int limit = (int) Math.pow(10, digits);
  14.  
  15.         for (int a = limit; a > 0; a--) {
  16.             if (a * limit < largest) break;
  17.  
  18.             for (int b = limit; b >= a; b--) {
  19.                 int prod = a * b;
  20.                 String prodStr = Integer.toString(prod);
  21.  
  22.                 if (prodStr.equals(Prob4.reverse(prodStr))) {
  23.                     largest = prod;
  24.                     System.out.print(a);
  25.                     System.out.print(" * ");
  26.                     System.out.print(b);
  27.                     System.out.print(" = ");
  28.                     System.out.println(prod);
  29.                 }
  30.  
  31.                 if (prod < largest) break;
  32.             }
  33.         }
  34.  
  35.         System.out.println(largest);
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment