Ganz coole Seite: Programmieraufgaben

Gute Links und Tutorials könnt ihr hier posten.
Antworten
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

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?
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

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]
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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*).
Benutzeravatar
jonas
User
Beiträge: 156
Registriert: Dienstag 9. September 2008, 21:03

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
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

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
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

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.
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

@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.
lunar

Eigentlich könnte die Laufzeitumgebung das ja auch selbst optimieren.
Antworten