Po raz pierwszy o Project Euler usłyszałem już tak dawno temu, że nie pamiętam kiedy ale dopiero ostatnio założyłem konto i rozpocząłem zabawę. W skrócie jest to zestaw zadań matematyczno programistycznych (obecnie ponad 400) o różnym stopniu złożoności i trudności. Rozwiązanie zadania polega na podaniu zawsze jednej liczby np.: liczba cyklicznych liczb pierwszych poniżej 1 miliona. Część problemów można rozwiązać siłowo ale nim dalej w las tym trudniej i trzeba kombinować.
Do założenia konta zachęcił mnie kolega z pracy (Dzięki Piotrek!). Okazało się, że w zabawie bierze udział już kilku z nas. Witryna projektu umożliwia śledzenie postępów innych, dyskusję na temat problemów, podaje statystyki ile osób rozwiązało poszczególne zadania itd.
Do tej pory korzystałem z konkurencyjnego portalu TopCoder. Co przyciągnęło mnie do Project Euler? Sądzę, że kilka rzeczy:
Podsumowując, jeśli jeszcze nie próbowaliście to zachęcam. Ja spróbowałem i nie mogę się oderwać.
Do założenia konta zachęcił mnie kolega z pracy (Dzięki Piotrek!). Okazało się, że w zabawie bierze udział już kilku z nas. Witryna projektu umożliwia śledzenie postępów innych, dyskusję na temat problemów, podaje statystyki ile osób rozwiązało poszczególne zadania itd.
Do tej pory korzystałem z konkurencyjnego portalu TopCoder. Co przyciągnęło mnie do Project Euler? Sądzę, że kilka rzeczy:
- Proste reguły zabawy.
- Bardzo prosty interfejs.
- Element społecznościowy.
- Stopniowanie trudności. Można zacząć od bardzo prostych problemów i przechodzić do coraz trudniejszych.
- Krótkie i zwięzłe zadania, co nie znaczy, że zawsze proste.
- To coś.
Podsumowując, jeśli jeszcze nie próbowaliście to zachęcam. Ja spróbowałem i nie mogę się oderwać.
3 comments:
Też bardzo polecam :)
W jakim języku rozwiązujesz tam zadania? Ja próbowałem przez pewien czas w Javie (na co dzień w nim programuje)ale jednak do tej zabawy po pewnym czasie musiałem zaprzyjaźnić się na nowo ze starym dobrym C++
Ja korzystam z C#, do paru zadań użyłem również WolframAlpha. Zakładam, że przesiadłeś się na C++ ze względu na wydajność? Nie wiem, które zadanie teraz rozwiązujesz i nie jestem specjalistą w Java ale z moich obserwacji wynika, że jeśli program liczy się za długo to znaczy, że źle go napisałem. Często wystarczy zastosowanie jakiegoś małego "tricku" i z kilku minut robi się kilka sekund lub mniej. C# ma natomiast dużo więcej "przydasiów" niż C++ i przede wszystkim znam go dużoooooo lepiej.
Rozwiazywanie zadan z Project Euler to swietny sposob na nauke skladni nowego jezyka.
Obecnie bawie sie zadaniami w Scali i Pythonie.
Post a Comment