Sha256: 5753125163758693e6207ad2b40ad393738d71ecc60a15eaef5b6ffb1d0a3b3c
Contents?: true
Size: 1.73 KB
Versions: 183
Compression:
Stored size: 1.73 KB
Contents
# Palindrome Products Detect palindrome products in a given range. A palindromic number is a number that remains the same when its digits are reversed. For example, `121` is a palindromic number but `112` is not. Given the definition of a palindromic number, we define a palindrome _product_ to be the product `c`, such that `a * b = c`, where `c` is a palindromic number and `a` and `b` are integers (possibly, but _not_ necessarily palindromic numbers). For example, the palindromic number 9009 can be written as the palindrome product: `91 * 99 = 9009`. It's possible (and indeed common) for a palindrome product to be the product of multiple combinations of numbers. For example, the palindrome product `9` has the factors `(1, 9)`, `(3, 3)`, and `(9, 1)`. Write a program that given a range of integers, returns the smallest and largest palindromic product within that range, along with all of it's factors. ## Example 1 Given the range `[1, 9]` (both inclusive)... The smallest product is `1`. It's factors are `(1, 1)`. The largest product is `9`. It's factors are `(1, 9)`, `(3, 3)`, and `(9, 1)`. ## Example 2 Given the range `[10, 99]` (both inclusive)... The smallest palindrome product is `121`. It's factors are `(11, 11)`. The largest palindrome product is `9009`. It's factors are `(91, 99)` and `(99, 91)`. ## Hints - The most simple way to check if a number is a palindrome is quite slow. To speed things up, you could implement a slighly more complex algorithm which uses mutable state. ## Source Problem 4 at Project Euler [http://projecteuler.net/problem=4](http://projecteuler.net/problem=4) ## Submitting Incomplete Solutions It's possible to submit an incomplete solution so you can see how others have completed the exercise.
Version data entries
183 entries across 183 versions & 1 rubygems