Project Euler - What you've learned

In summary: I registered there too.In summary, In Edgardo's opinion, the biggest asset of project euler is that it allows users to explore different programming languages and approaches to problem solving. Additionally, he learned about the importance of efficiency when solving problems.
  • #1
Edgardo
706
17
So I registered on 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

- http://en.wikipedia.org/wiki/Memoization" : Use results that you've calculated before

- Using 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 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?
 
Last edited by a moderator:
Technology news on Phys.org
  • #2
Hi, I registered in spoj.pl , www.topcoder.com[/url] , [url]www.codechef.com[/URL], and many acm judges ... i am chandubaba everywhere. Read the book "introduction to algorithms" by cormen, awesome! Very good for all these sites. But i am not there in project euler ... i am not familiar with gcj stuff. Also we need to do a lot of math (learn it fun way, ie not preparing for exam but for fun)... dynamic programming and graph theory seems to be everywhere at the elementary level.
 
Last edited by a moderator:
  • #3
I learned:
C can handle bigger numbers than C++
Many algorithms are already better implemented than I ever could, especially in Mathematica
Thinking about a problem first can reduce the time needed to get the answer significantly
 
  • #4
chandubaba said:
Hi, I registered in spoj.pl , www.topcoder.com[/url] , [url]www.codechef.com[/URL], and many acm judges ... i am chandubaba everywhere. Read the book "introduction to algorithms" by cormen, awesome! Very good for all these sites. But i am not there in project euler ... i am not familiar with gcj stuff. Also we need to do a lot of math (learn it fun way, ie not preparing for exam but for fun)... dynamic programming and graph theory seems to be everywhere at the elementary level.[/QUOTE]

Interesting. I'm currently reading Cormen's book and I like it. But I wouldn't have thought that it is actually useful for the problems on the aforementioned websites.
 
Last edited by a moderator:
  • #5
There are larger int objects in C++ as well, however for project euler I can recommend vectorized python (numpy).
 
  • #6
I did it in Pari. It makes most of the problems trivial -- though I'll admit it's pretty bad at string manipulation.
 
  • #7
Project euler taught me the hard way about algorithm efficiency...
 
  • #8
I learned that pretty much everything I ever need to implement has been implemented by an open source project somewhere along the line...
 
  • #9
Edgardo what's your handle in topcoder?
 

Related to Project Euler - What you've learned

1. What is Project Euler?

Project Euler is a website that offers a series of challenging mathematical and computer programming problems. These problems are designed to improve problem-solving skills and expand knowledge in math and computer science.

2. How do I participate in Project Euler?

To participate in Project Euler, you simply need to create an account on the website and start solving the problems. Some problems may require knowledge of programming languages such as Java, Python, or C++, but there are also problems that can be solved with pen and paper.

3. What can I learn from Project Euler?

Project Euler can teach you various problem-solving techniques, such as breaking down a complex problem into smaller, more manageable parts. It can also improve your understanding of mathematical concepts and programming languages.

4. Are there any prerequisites for participating in Project Euler?

While there are no specific prerequisites for participating in Project Euler, it is recommended to have a basic understanding of math and programming concepts. Some problems may also require knowledge of specific math topics, but there are plenty of resources available on the website to help you learn.

5. Can I collaborate with others on Project Euler?

Project Euler encourages individual problem-solving, but you can discuss and share your solutions with others on the website's forum. However, it is important to note that sharing solutions to problems that are meant to be solved individually goes against the spirit of the website.

Similar threads

  • Programming and Computer Science
Replies
7
Views
3K
  • Programming and Computer Science
Replies
9
Views
1K
  • STEM Academic Advising
Replies
10
Views
1K
  • Programming and Computer Science
4
Replies
107
Views
5K
  • Programming and Computer Science
Replies
1
Views
757
  • Programming and Computer Science
Replies
1
Views
618
  • Programming and Computer Science
Replies
8
Views
939
  • Programming and Computer Science
12
Replies
397
Views
14K
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
2
Views
946
Back
Top