Friday, April 17, 2015

Project Euler

https://projecteuler.net/about
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
If you are looking for problems to help exercise your newly acquired skills in a programming language, then this is a place you could try.

To date, I've solved 47 of the 511 problems posted there, mostly the easy initial ones.  The hardest one, per their difficulty rating, that I've solved, is problem 259.   The next hardest problem, by their rating system, that I've solved is problem 110.  The rest that I've done are way easier.

I'm using mostly LISP.   I'm currently working on problem 201, I have an algorithm, I'm quite sure that it is correct; but it is slow (I estimate O(n^5) where n is the number of terms in the set)  so I need to put more thought into it.  

By the rules, I cannot say any more in public than what I have written.

I learned so much solving problem XXX so is it okay to publish my solution elsewhere?

It appears that you have answered your own question. There is nothing quite like that "Aha!" moment when you finally beat a problem which you have been working on for some time. It is often through the best of intentions in wishing to share our insights so that others can enjoy that moment too. Sadly, however, that will not be the case for your readers. Real learning is an active process and seeing how it is done is a long way from experiencing that epiphany of discovery. Please do not deny others what you have so richly valued yourself.
 PS: My slow solution to problem 201 gives the correct answer.  Further,  I now have a faster variant, that completes in 9 minutes instead of 9 hours!