Project Euler - Matematik, programmering og leg.

For et stykke tid siden indetroducerede min ven Mads Ravn mig for sitet: projecteuler.net. Det en en side der indeholder en lang række små programmeringsopgaver, af matematisk karakter. Folkene bag sitet beskriver det selv som: 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.

Sitet indeholder ca. 200 opgaver af matematisk karakter, der allesammen kan besvares med et tal. Der så bruges som svar, på opgavesiden. Et eksempel på en af de lettere opgaver kunne være: "If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000. Man skal altså finde alle tal mellem 0 og 1000 der kan divideres med enten 3 eller 5, og have 0 som rest. Alle disse tal skal så summeres, og man har resultatet på opgaven. Dette resultat skal indtastes i en boks på opgavesiden, og du vil herefter få at vide om resultatet er rigtigt. Et eksempel på en lidt sværere opgave kunne være nr. 189 hvor man har en trekant, opbygget af 64 mindre trekanter, disse små trekanter skal alle farves med en af tre farver. Hvor mange forskellige muligheder har man for at kombinere de tre farver, hvis to nabotrekanter ikke må have den samme farve?

Når man har besvaret en opgave korrekt får man adgang til er forum hvor den enkelte opgave kan diskuteres, her kan man bl.a. diskutere kode og optimering af denne. Der bliver holdt styr på hvor mange opgaver du har klaret (Jeg har pt. klaret 15 ud af 202 opgaver), samt at det er muligt at finde statistikker for andre brugere enten ud fra hvor mange opgaver de har løst, eller ud fra hvilket land de kommer fra. F.eks kan jeg se at der pt. er 148 danske brugere, og den dansker der har løst flest opgaver er troels, der har løst 148 opgaver, og bruger programmeringssproget Haskell, til det.

Personligt synes jeg det er nogle sjove små opgaver der udfordrer og tvinger dig til at tænke på alternative løsninger til problemer. Det er god træning hvis du godt kan lide at programmere, og det er på mange måder lærerigt. Så hvis man kan lide at programmere og/eller matematiske udfordringer vil jeg klart anbefale at oprette en profil og kigge lidt på det. Det kunne være man kunne lære noget :-)