Edgardo
Sep16-09, 02:03 PM
So I registered on Project Euler (http://projecteuler.net/) and I must say: it's quite addictive!
I didn't expect it to be that much fun.
I'd like to share what things I've learned from solving the problems:
- When solving a problem you get access to a thread. I was impressed
how different the approaches are. People use "crazy languages" like K where
the code looks like this: */_*a@&1000=+/'a:b,'(_sqrt+/)'b*b:,/n,/:'1+!:'n:!1000
- Memoization (http://en.wikipedia.org/wiki/Memoization): Use results that you've calculated before
- Using psyco (http://psyco.sourceforge.net/) (a Python compiler) improved the Python performance of one my programs by a factor of 4.
- C++ is much faster than Python. But Python can handle really big numbers.
I will probably have to learn using GMP (http://gmplib.org/).
- Java is fast. But the BigInteger datatype is slow (maybe I used it in the wrong way?) and hard to use :frown:
What did you learn (for example what kind of techniques boosted the speed
of your programs)?
What programming languages do you use and prefer?
I didn't expect it to be that much fun.
I'd like to share what things I've learned from solving the problems:
- When solving a problem you get access to a thread. I was impressed
how different the approaches are. People use "crazy languages" like K where
the code looks like this: */_*a@&1000=+/'a:b,'(_sqrt+/)'b*b:,/n,/:'1+!:'n:!1000
- Memoization (http://en.wikipedia.org/wiki/Memoization): Use results that you've calculated before
- Using psyco (http://psyco.sourceforge.net/) (a Python compiler) improved the Python performance of one my programs by a factor of 4.
- C++ is much faster than Python. But Python can handle really big numbers.
I will probably have to learn using GMP (http://gmplib.org/).
- Java is fast. But the BigInteger datatype is slow (maybe I used it in the wrong way?) and hard to use :frown:
What did you learn (for example what kind of techniques boosted the speed
of your programs)?
What programming languages do you use and prefer?