Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 17th, 2012  |  syntax: None  |  size: 2.02 KB  |  hits: 31  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /**
  2.  * @author  Jane Ullah
  3.  * @purpose Problem 8 - Project Euler
  4.  * @date    12/28/2011
  5.  * @site    http://janetalkscode.com   
  6.  */
  7. public class Problem8 {
  8.  
  9.         public static void main(String[] args) {
  10.                 String digits =   "73167176531330624919225119674426574742355349194934"
  11.                                   + "96983520312774506326239578318016984801869478851843"
  12.                                   + "85861560789112949495459501737958331952853208805511"
  13.                                   + "12540698747158523863050715693290963295227443043557"
  14.                                   + "66896648950445244523161731856403098711121722383113"
  15.                                   + "62229893423380308135336276614282806444486645238749"
  16.                                   + "30358907296290491560440772390713810515859307960866"
  17.                                   + "70172427121883998797908792274921901699720888093776"
  18.                                   + "65727333001053367881220235421809751254540594752243"
  19.                                   + "52584907711670556013604839586446706324415722155397"
  20.                                   + "53697817977846174064955149290862569321978468622482"
  21.                                   + "83972241375657056057490261407972968652414535100474"
  22.                                   + "82166370484403199890008895243450658541227588666881"
  23.                                   + "16427171479924442928230863465674813919123162824586"
  24.                                   + "17866458359124566529476545682848912883142607690042"
  25.                                   + "24219022671055626321111109370544217506941658960408"
  26.                                   + "07198403850962455444362981230987879927244284909188"
  27.                                   + "84580156166097919133875499200524063689912560717606"
  28.                                   + "05886116467109405077541002256983155200055935729725"
  29.                                   + "71636269561882670428252483600823257530420752963450";
  30.                 int maxProduct = 0, temp = 1;
  31.                 for (int i = 0; i < (digits.length()-5); i++)   {
  32.                         String fiveDigits = digits.substring(i,(i+5));
  33.                         temp = parseString(fiveDigits);
  34.                         if (temp > maxProduct)  {
  35.                                 maxProduct = temp;
  36.                         }
  37.                 }
  38.                 System.out.println("Max product: " + maxProduct);              
  39.         }
  40.        
  41.         //Method to multiply all 'digits' in a string
  42.         public static int parseString(String digits)    {
  43.                 int product = 0;
  44.                 //Strips out non-word characters
  45.                 digits = digits.replaceAll("\\W","");
  46.                 for (int i = 0; i < digits.length(); i++){
  47.                         product *= Integer.parseInt(digits.substring(i,(i+1)));
  48.                 }
  49.                 return (digits.length() > 0) ? product:0;      
  50.         }
  51. }