12,759,704 members (33,046 online)
Technical Blog
alternative version

#### Stats

10.4K views
Posted 10 Aug 2011

# Project Euler Problem #4

, 10 Aug 2011 CPOL
 Rate this:
CodeProjectMoving on along with these Project Euler problems, Problem 4 states this:A palindromic number reads the same both ways.

Moving on along with these Project Euler problems, Problem 4 states this:

```A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
<br />
<br />Find the largest palindrome made from the product of two 3-digit numbers.```

This just reeks of a brute force method. But that is fine. I don't think it will be that strenuous.

First we need a function that determines if a computed number is a palindrome. This is what I came up with:

```public bool IsPalindromic(string item)
{
return item.SequenceEqual(item.Reverse());
}
```

Here we will take in a string representation of a number (or anything really) and use the handy 'SequenceEqual' and 'Reverse' extension methods. Now I actually read somewhere that the 'Reverse' method bogs down performance more than using any other method, but it wasn't enough to affect my performance so I kept it just because it is short and concise.

Now we have to iterate through all the possibilities and check if the given product is a palindrome. There are two ways I can do this:

Lambda:

```return Enumerable.Range(100, 900)
.Select(i => Enumerable.Range(i, 1000 - i)
.Where(j => newTools.IsPalindromic((i * j).ToString()))
.Select(j => i * j)
.OrderBy(j => j)
.LastOrDefault())
.Max();
```

Or Linq:

```return (from i in Enumerable.Range(100, 900)
from j in Enumerable.Range(i, 1000 - i)
let product = i * j
where newTools.IsPalindromic(product.ToString())
select product).Max();
```

Upon first glance the Linq option seems a lot cleaner and easier to read. And it might be. I guess I have no preference because both run just about as fast and return the correct answer, so it just depends on preference.

There ya go. Easy as pie.

## Share

Visit my blog, Aimless Technical Babble

## You may also be interested in...

 Pro Pro