From charlesreid1

Problem 4 on Project Euler: https://projecteuler.net/problem=4

Solution: https://git.charlesreid1.com/cs/euler/src/master/004

Find the largest palindrome that is a product of two three-digit numbers.

Notes

In this problem, we are asked to find the largest palindrome number that is the product of two three-digit numbers.

This problem has one main task:

  • Turning numbers into strings (to check if palindrome)

Normally, Project Euler problems present you with a huge, intractable problem space, and you must spend some time up front eliminating or narrowing down the space you are exploring. But in this case, the key space of all products of all three-digit numbers is trivial to generate, so we do it. Then take the maximum.

Basic structure:

  • For each combination of three digit numbers:
  • Add the product to a set
  • Compute the maximum of the set

Strings and numbers

This is the first of many Project Euler problems in which you'll need to quickly and easily convert from a number representation to a String representation (e.g., to check if a palindrome). Good to keep all of it straight, particularly in Java, since there are primitive types and there are wrappers, and I often find myself going from any of the above to all of the above.

    • char to Chacter or int to Integer - can cast
    • char to int - Character.digit(c)
    • char to Integer - new Integer(Character.digit(c))
    • String to int - Integer.parseInt(s)
    • String to Integer - Integer.parseInt(s)
    • int to char - '0' + i
    • int to String - Integer.toString(int)