fork download
  1. #include <iostream>
  2. #include<string>
  3. #include<cmath>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. string str = "73167176531330624919225119674426574742355349194934" \
  9. "96983520312774506326239578318016984801869478851843" \
  10. "85861560789112949495459501737958331952853208805511" \
  11. "12540698747158523863050715693290963295227443043557" \
  12. "66896648950445244523161731856403098711121722383113" \
  13. "62229893423380308135336276614282806444486645238749" \
  14. "30358907296290491560440772390713810515859307960866" \
  15. "70172427121883998797908792274921901699720888093776" \
  16. "65727333001053367881220235421809751254540594752243" \
  17. "52584907711670556013604839586446706324415722155397" \
  18. "53697817977846174064955149290862569321978468622482" \
  19. "83972241375657056057490261407972968652414535100474" \
  20. "82166370484403199890008895243450658541227588666881" \
  21. "16427171479924442928230863465674813919123162824586" \
  22. "17866458359124566529476545682848912883142607690042" \
  23. "24219022671055626321111109370544217506941658960408" \
  24. "07198403850962455444362981230987879927244284909188" \
  25. "84580156166097919133875499200524063689912560717606" \
  26. "05886116467109405077541002256983155200055935729725" \
  27. "71636269561882670428252483600823257530420752963450";
  28.  
  29. const size_t adjacent = 13;
  30. size_t len = str.size();
  31.  
  32. long long max = 0, product = 1;
  33. for(size_t i = 0; i+adjacent < len; ++i) {
  34. product = 1;
  35. for (size_t j = 0; j < adjacent; ++j)
  36. product *= str[i+j] - '0';
  37. if (max < product)
  38. max = product;
  39. }
  40. cout << max << endl;
  41. return 0;
  42. }
Success #stdin #stdout 0s 3464KB
stdin
Standard input is empty
stdout
23514624000