Seite 1 von 1

Ganz coole Seite: Programmieraufgaben

Verfasst: Montag 15. Juni 2009, 19:31
von jonas
Wer Lust kann ja mal auf http://projecteuler.net/index.php?section=problems gehen und
die Aufgaben lösen, ist ja nicht so schwer, denke ich. Einfach zum
knobeln. :D

Lg, Jonas 8)
PS: Wie macht man das eigentlich, dass da was anderes
als der Link steht? Also was den Link ersetzt?

Re: Ganz coole Seite: Programmieraufgaben

Verfasst: Montag 15. Juni 2009, 19:43
von derdon
jonas hat geschrieben:PS: Wie macht man das eigentlich, dass da was anderes
als der Link steht? Also was den Link ersetzt?

Code: Alles auswählen

[url=http://projecteuler.net/index.php?section=problems]Project Euler Problems[/url]

Re: Ganz coole Seite: Programmieraufgaben

Verfasst: Montag 15. Juni 2009, 19:50
von numerix
jonas hat geschrieben:Wer Lust kann ja mal auf http://projecteuler.net/index.php?section=problems gehen und
die Aufgaben lösen, ist ja nicht so schwer, denke ich.
Auf Grund welcher Erfahrung o.ä. kommt du zu der Ansicht, das wäre nicht schwer? Wie viele von den Aufgaben - zur Zeit gibt es 250 - kannst du denn auf Anhieb lösen oder hast sie schon gelöst?

Verfasst: Montag 15. Juni 2009, 20:20
von cofi
Die ersten ~ 10 Aufgaben sind zienlich knackig und schnell lösbar, aber gehts dann rund!
Wobei sich das eher mit der Mathematik beschäftigt als mit Programmierung (man braucht nichtmal effiziente Algorithmen, da es keine Zeitbeschränkung gibt *g*).

Re: Ganz coole Seite: Programmieraufgaben

Verfasst: Montag 15. Juni 2009, 21:04
von jonas
jonas hat geschrieben:[...]die Aufgaben lösen, ist ja nicht so schwer, denke ich. Einfach zum
knobeln. :D
Habe mir halt die ersten paar Aufgaben angeschaut..
Sry, wenn die Einschätzung so daneben lag :oops:
@derdon: Danküü
Lg, Jonas

Re: Ganz coole Seite: Programmieraufgaben

Verfasst: Dienstag 16. Juni 2009, 18:58
von numerix
jonas hat geschrieben:
jonas hat geschrieben:[...]die Aufgaben lösen, ist ja nicht so schwer, denke ich. Einfach zum
knobeln. :D
Habe mir halt die ersten paar Aufgaben angeschaut..
Für wie schwer man die Euler-Aufgaben hält, hängt natürlich von den persönlichen Fähigkeiten und Vorerfahrungen ab. Für mich ist ein großer Teil der Aufgaben nicht mal eben auf die Schnelle gelöst. Ich habe meine ersten ca. 50 Aufgaben an zwei Nachmittagen gelöst, aber viel weiter komme ich in dem Tempo nicht. Bei nicht wenigen Aufgaben fehlt mir (noch) gänzlich die Idee, wie ich an die Lösung herangehen sollte.

Im Prinzip stimme ich cofi zu: Hat viel mit Mathematik zu tun, Schwerpunkt Zahlentheorie. Da es kein time-limit gibt, kann man einen Teil der Aufgaben mit brute-force lösen. Das zwingt einen nicht, viel Zeit in die Entwicklung und Implementierung effizienter Algorithmen zu stecken - zur Not lässt man den eigenen Rechner mal 'ne Stunde ackern für eine Lösung.

Wer es (noch) anspruchsvoller möchte, der kann sich dann bei SPOJ austoben - dort mit Zeitlimit und im Schnitt anspruchsvolleren Aufgaben.

Re: Ganz coole Seite: Programmieraufgaben

Verfasst: Mittwoch 17. Juni 2009, 20:06
von veers
Meiner Meinung nach ist Project Euler im Vergleich zu Spoj, USACO oder der IOI schon einfacher. Aber um ehrlich zu sein gefällt mir das, so eine Aufgabe lässt sich auch mal kurz nebenbei (beim Kompilieren o.ä.) lösen.

Ich habe bis jetzt 58 Aufgaben gelöst.

Jonas

Verfasst: Samstag 20. Juni 2009, 12:18
von hendrikS
Ich schätze dies Online Wettbewerbe sehr und war in letzter Zeit auch ein bißchen auf SPOJ und ProjectEuler aktiv.
Empfehlenswert ist auf jeden Fall sich auch mal Problemen zu widmen, wo einem die Lösung nicht gleich ins Gesicht springt, weil man nur so auch was dazulernt.
Zum Beispiel habe ich durch lösen von Euler247 wieder ein weiteres super Python Feature kennengelernt.
Welches? Einfach mal das Problem lösen.

Verfasst: Samstag 20. Juni 2009, 14:20
von numerix
hendrikS hat geschrieben:Ich schätze dies Online Wettbewerbe sehr und war in letzter Zeit auch ein bißchen auf SPOJ und ProjectEuler aktiv.
Empfehlenswert ist auf jeden Fall sich auch mal Problemen zu widmen, wo einem die Lösung nicht gleich ins Gesicht springt, weil man nur so auch was dazulernt.
Ich bin bekanntermaßen auch ein Freund von SPOJ & Co., aber wenn man mal ehrlich ist, geht es bei einem Großteil der Aufgaben doch mehr darum, überhaupt einen Algorithmus zur Lösung zu finden. Die Implementierung ist dann in der Regel - nicht immer - der einfachere Teil der Arbeit. Und wenn man dann - bei SPOJ ja notgedrungen, wenn man das time-limit einhalten will - das Programm auf Geschwindigkeit hin optimiert, dann wird der Code dadurch auch nicht unbedingt "pythonischer" und manch nettes Python-Leckerchen bleibt außen vor (wie z.B. defaultdict, so ziemlich alles, was mit Iteratoren zu tun hat, und eigene Klassen sowieso); allerdings die looooooooongints - die sind prima ... :D

Verfasst: Samstag 20. Juni 2009, 14:36
von hendrikS
@numerix

... ja die Qualität des Codes hinsichtlich Lesbarkeit und Wartbarkeit leidet manchmal, was allein schon an folgendem einfachen Beispiel sichtbar wird. Ich hatte neulich einfach mal
2**n
ersetzt durch
1<<n
und damit nach langem Kampf das Zeitlimit einhalten können.

Verfasst: Samstag 20. Juni 2009, 15:39
von lunar
Eigentlich könnte die Laufzeitumgebung das ja auch selbst optimieren.