Kennt ihr schon... Project Euler?

Soooo, es ist vollbracht: :biggrin:


Excellent work, DaPhreak! By solving your 100th problem you have earned a place among the top 2.43% of members and have advanced to level 3.

Und damit trage ich jetzt voller Stolz das da:
octahedron.gif
:mrgreen:


Es ist immer wieder faszinierend, die Lösungsthreads zu lesen und zu erkennen wie blöd man sich angestellt hat den offensichtlich schnellsten Weg nicht zu sehen. Naja.

Auch war ich erstaunt, dass einige Probleme >200 gar nicht schwer sind (eins davon ging sogar leicht auf dem Papier ganz ohne Programm).


Gelöst sind #1 bis #65 und dann fehlen bis zur #100 nur einzelne hier und da. Mein aktuellstes gelöstes ist #225. Spaß machts immer noch. Obwohl ich jetzt mein eigentliches Ziel erreicht habe (Rang 3), werd ich sicher noch ein bisschen weiter knobeln. Dümmer bin ich nicht geworden, ganz im Gegenteil.
 
So ein Mist. Eigentlich sollte ich BA schreiben, aber jetzt sitz ich hier und programmiere an den Problemen rum :D

Frage: Macht ihr die Aufgaben tatsächlich mit Blatt+Stift? Ich hab bisher alle (die ersten 7) mit Java gelöst, und hab jetzt ca. 40 Min. dafür aufgewendet. Z.B. Aufgabe 7 muss man doch mit nem Programm machen, oder?
 
So ein Mist. Eigentlich sollte ich BA schreiben, aber jetzt sitz ich hier und programmiere an den Problemen rum :D

Hehe ja, ist ein echter Zeitkiller. :p

Frage: Macht ihr die Aufgaben tatsächlich mit Blatt+Stift? Ich hab bisher alle (die ersten 7) mit Java gelöst, und hab jetzt ca. 40 Min. dafür aufgewendet. Z.B. Aufgabe 7 muss man doch mit nem Programm machen, oder?

Ich habe nur ganz wenige auf dem Papier gelöst. Von den 100 die ich gelöst habe vielleicht drei. Im Lösungsthread sieht man dann aber schon ab und zu, dass es noch eine viel einfachere Lösung gegeben hätte, die tatsächlich auf dem Papier geht. Aber auch das ist eigentlich eher die Ausnahme, ich würde schon sagen, dass man für den größten Teil der Aufgaben ein Programm braucht. Außer man hat seeehr viel Geduld und schreibt sich ein paar Millionen Rechenoperationen auf. :biggrin:
 
Hi,

habe mich heute mal wieder dran gewagt und Problem 8 krieg ich nicht hin. D.h. ich kriege es schon hin, aber meine Antwort ist immer falsch!

Also, ich habe es so übersetzt: "Finde das größte Produkt aus 5 aufeinander folgenden Zahlen in der folgenden 1000-stelligen Nummer."
Also fange ich einfach an, das erste Produkt aus den Ziffern 7, 3 ,1, 6, 7 zu bilden. Dann gehe ich eine Zahl weiter und bilde das Produkt aus 3, 1, 6, 7, 1 usw. Aber das richtige kommt irgendwie nicht raus! Verstehe ich da was falsch?
 
Soweit richtig übersetzt. Hast Du auch bei den "Zeilenumbrüchen" aufgepasst, die mit zu erwischen? Ist ja alles eine Zahl nur halt umgebrochen der Darstellung wegen. Die Lösung ist fünfstellig.

*edit* Grad mal geschaut, die Lösung ist nicht an einem "Zeilenumbruch". Ist ein Fünferblock der drei Neunen enthält. Da gibt es mehrere von.
 
Soweit richtig übersetzt. Hast Du auch bei den "Zeilenumbrüchen" aufgepasst, die mit zu erwischen? Ist ja alles eine Zahl nur halt umgebrochen der Darstellung wegen. Die Lösung ist fünfstellig.

*edit* Grad mal geschaut, die Lösung ist nicht an einem "Zeilenumbruch". Ist ein Fünferblock der drei Neunen enthält. Da gibt es mehrere von.

Also ich hab die Zahl in einen String gepackt, der zusammenhängend ist, ohne Leerzeichen. Daran kanns also nicht liegen. Muss ich mir nochmal angucken, was ich da falsch gemacht haben könnte.
 
Also ich hab die Zahl in einen String gepackt, der zusammenhängend ist, ohne Leerzeichen. Daran kanns also nicht liegen. Muss ich mir nochmal angucken, was ich da falsch gemacht haben könnte.

Kannst ja mal Deine bisherige Lösung posten, dann kann ich Dir sagen ob Du zu tief oder zu hoch liegst...
 
Kannst ja mal Deine bisherige Lösung posten, dann kann ich Dir sagen ob Du zu tief oder zu hoch liegst...

Hab das Problem jetzt gelöst. Da ich das ganze als String bearbeitet habe, hat er die ASCII-Werte oder sowas multipliziert, was viel zu hoch war. Blödes valueOf :roll:

Jetzt häng ich an der 10. Das Schreiben war gar kein Problem, nur der rechnet sich bei mir tot, da ich ja für jede Zahl herausfinden muss, obs ne Primzahl ist. Und das dauert :D Und irgendwo auf der Seite habe ich gelesen, dass der Code nur ne Minute maximal zum durchlaufen brauchen soll bzw. es immer eine Lösung gibt, dass der Code nur ne Minute braucht.

Mal gucken, wie ich da Performance sparen kann.

EDIT: Schon gelöst :D Wiki wirkt manchmal Wunder, und etwas schlauer bin ich auch wieder.
 
Zuletzt bearbeitet:
Ja, Problem 10 ist eine gute Gelegenheit sich über die schnelle Primzahlsuche Gedanken zu machen (Stichwort Sieb des Eratosthenes). Denn eins kannst Du mir glauben: Das wirst Du in späteren Aufgaben noch sehr sehr sehr oft brauchen. Also jetzt ordentlich implementieren, dann sparst Dir später etwas Arbeit. ;)

Es lohnt sich auch mal die verlinkte PDF anzuschauen bei Problem 10, da gibt's viele Erklärungen zu.
 
Es ist wohl eh sinnvoll, seine selbstgeschriebenen, nicht problemspezifischen Funktionen irgendwie in eine externe Unit zu packen, die dann jeweils im aktuellen Problem genutzt und erweitert werden kann.
Also zumindest ich hab das so gemacht, da man so Sachen wie Primzahlenfinder, ggT/kgV etc. doch immer mal wieder braucht :)

Edith: Ich seh' gerade, dass ich P10 selber noch nicht gelöst habe. Ich bin schockiert - und dabei, das zu ändern!

Edith2: Und weg ist es :) Konnte meinen Primzahlenalgoritmus von anfänglich ~3 Min auf 6 Sekunden optimieren :ugly:
 
Zuletzt bearbeitet: