Project Euler/4
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)
Project Euler project euler notes
Round 1: Problems 1-20 Problem 1 · Problem 2 · Problem 3 · Problem 4 · Problem 5 · Problem 6 · Problem 7 · Problem 8 · Problem 9 · Problem 10 Problem 11 · Problem 12 · Problem 13 · Problem 14 · Problem 15 · Problem 16 · Problem 17 · Problem 18 · Problem 19 · Problem 20 Round 2: Problems 50-70 Problem 51 · Problem 52 · Problem 53 · Problem 54 · Problem 55 · Problem 56 · Problem 57 · Problem 58 · ... · Problem 61 · Problem 62 · Problem 63 · Problem 64 · Problem 65 · Problem 66 · Problem 67 Round 3: Problems 100-110 Problem 100 · Problem 101 · Problem 102 Round 4: Problems 500-510 Problem 500 · Problem 501 * · Problem 502 * Round 5: Problems 150-160 Round 6: Problems 250-260 Round 7: Problems 170-180
|