Euler-projekti on internet-sivusto, jolla on tietokoneella ratkaistaviksi tarkoitettuja laskennallisia tehtäviä.

Project Euler
Verkkosivusto www.projecteuler.net
Kaupallinen Ei
Tyyppi Ongelmanratkaisu
Rekisteröinti Ilmainen
Kehittäjä Colin Hughes
Avattu 5.10.2001
Nykyinen tila aktiivinen
Leonhard Euler.

Sivusto on nimetty kuuluisan ja erittäin tuotteliaan sveitsiläisen matemaatikon ja fyysikon, Leonhard Eulerin (1707–1783) mukaan. Tehtävien vaativuustaso vaihtelee alkupään helpoista tehtävistä loppupään usein jo huomattavia ongelmanratkaisutaitoja ja teoreettista tietoakin vaativiin tehtäviin. Tehtävien ratkaisemiseen voi käyttää itse valitsemaansa ohjelmointikieltä. Tehtävät ovat sellaisia, että ne voi ratkaista tehokkaalla ohjelmakoodilla normaalissa kannettavassa tai pöytätietokoneessa yleensä alle yhdessä minuutissa.

Tehtäviä on 17.7.2012 kannassa 391 kappaletta. Tehtävään vastataan ilmoittamalla oikea vastaus, joka yleensä on yksi luku, tosin iso sellainen. Järjestelmä tarkastaa vastauksen automaattisesti ja jos se on oikea, kasvattaa käyttäjän pistetiliä. Tämän jälkeen ratkaisusta on mahdollista keskustella tähän tarkoitetulla keskustelupalstalla.

Projektin aloitti Colin Hughes vuonna 2001 mathchallenge.net-sivuston alaosiona. Käytännössä projekti pyörii siten, että käyttäjät voivat ehdottaa uusia tehtäviä. Näistä tietty matemaatikoiden ja ohjelmoijien ryhmä valikoi sopivat ja muuntaa ne ratkaistaviksi ongelmiksi. Uusia tehtäviä julkaistaan säännöllisesti. Yleensä tahti on yksi tehtävä per viikonloppu. Nykyisin (17.07.2012) projektilla on noin 240 000 ainakin yhden tehtävän ratkaissutta kirjautunutta käyttäjää eri puolilla maailmaa. Näistä noin 900 on suomalaisia. Projektin virallinen kieli on englanti, mutta projektista ylläpidetään muitakin kieliversioita.

Tyypillisesti Euler-projektin tehtävät liittyvät mm. logiikkaan, lukuteoriaan, kombinatoriikkaan, peliteoriaan tai geometriaan. Pelkällä raa’alla voimalla (brute force) ei ongelmia enää alkupään helpohkojen tehtävien jälkeen voi ratkaista. Vastauksen saaminen tavoitteeksi asetetussa minuutin laskenta-ajassa vaatii yleensä teoreettista tietoa, algoritmiosaamista ja ohjelmointitaitoa. Joukossa on kuitenkin myös sellaisia tehtäviä, joiden ratkaiseminen onnistuu pelkästään kynää ja paperiakin käyttäen tai jopa pelkästään päättelemällä.

Aiheesta muualla muokkaa