Archives

The square of the sum vs. the sum of the squares
The sixth Project Euler problem poses an exercise that, to me, offers no major hurdles:

Recursive lambdas and sequence aggregations
The fifth problem at Project Euler proposes this nostalgic primary school exercise: find the smallest quantity that is evenly divisible by some numbers, the least common multiple of 1, 2, 3, ..., 20 to be precise. To begin with, let's remember the old arithmetic formula:

Nested sequences and palindrome numbers
Problem 4 of Project Euler poses and impractical albeit intriguing problem: given all three digit numbers (100, 101, 102, ..., 998, 999), find the largest product of 2 of those numbers, where the product is a palindrome. For example, 580.085 is the product of two threedigit numbers (995 x 583) but it isn't the largest of such products. One possible functional C# solution is:

Finding the largest prime factor of a number
This is another classic problem at Project Euler that can be solved with the old trick of top down programming, like so:

Project Euler and infinite sequences in C#
The second problem at Project Euler proposes:

Project Euler and functional C#
I think I already talked (a long time ago) about Project Euler: a set of problems, mainly math oriented, keen to be solved with a computer program. To be sure, it's not particularly deep math, but the problems posed go fairly quickly from really easy, to hmm, to challenging. In this sense, they are good programming calisthenics, and may also be a good way of learning a new language. For example, Chris Smith has solved some Project Euler problems using F#, I find the idea intriguing, so I'll try to do the same thing, only that I'll be using C#, but not your plain old C# mind you, as I'll do my best to use in as much as possible the functional facilities of C# 3.0. Let's see for example Problem 1: