Schlagwort-Archive: java

Projekt Euler: Level 1 – die Reise beginnt

Geschafft! Die ersten 25 Probleme des Projekt Euler habe ich gelöst UND auch dokumentiert 🙂 Damit ist das erste Level erreicht und auch ein weiterer Badge „The Journey Begins“ wurde frei geschaltet. Die Mischung der Themen war recht bunt. Von einfachen Such- und Sortieraufgaben über Primzahlen und -faktoren bis hin zu Fibonacci- und Collatz-Reihen war alles dabei. Und auch wenn ich die Lösung nicht immer aus dem Ärmel schütteln konnte, so bin ich meinen Ziel treu geblieben und habe ein Problem nach dem anderen gelöst. Lediglich Problem 67 tanzt aus der Reihe, da es sich sehr leicht auf Basis von Problem 18 realisieren ließ.

Die Entscheidung, von Anfang alles auf einem eigenen kleinen Java-Framework aufzusetzen, hat sich in jedem Fall gelohnt. Einzelne Probleme können gegenseitig Teile wiederverwenden und die zentralisierte Zeitmessung und Ausgabe ist mehr als hilfreich. Bisher sind immerhin drei Pakete, ein Interface und 32 Klassen entstanden! Alles zusammen habe ich in einem Klassendiagramm dargestellt:

Klassendiagramm für Projekt Euler – Problem 1 bis 24 und 67

Ich freue mich, wenn meine Lösungen den einen oder anderen inspirieren können und bin wirklich gespannt, was das Projekt noch zu bieten hat 🙂

Projekt Euler: Etwas für alle, die Mathematik & Informatik lieben und noch nicht genug Probleme haben ;)

Als ein neuer Kollege vor ein paar Jahren im Vorstellungsgespräch das „Projekt Euler“ als eines seiner Hobbies angab, sah man nur Fragezeichen auf der Stirn aller Anwesenden – einschließlich mir. Es wurde aber schnell klar, dass sich hier ein paar hervorragende Herausforderungen für unsere MaTSE-Azubis finden lassen. Mittlerweile sind die gestellten Aufgaben ein Quasi-Standard für Praktikanten, die zeigen wollen, wie es um ihr logisches Denkvermögen steht.

Nachdem in der letzten Woche bei VCAT ein recht junger Mensch die ersten Schritte in der Programmierung mit C wagte und dies – natürlich – gleich einmal an den ersten Aufgaben des Projektes ausprobierte, konnte ich nicht mehr an mir halten. Ich musste mich einfach selbst auf der Projektwebseite anmelden!

Mittlerweile umfasst das Projekt mehr als 500 Aufgaben, die als „Problem“ bezeichnet werden. Allesamt sind aus den Bereichen Mathematik und Informatik, und können in den meisten Fällen nur durch den Einsatz einer Programmiersprache gelöst werden. Das Projekt beschreibt sich selbst so:

„Project Euler exists to encourage, challenge, and develop the skills and enjoyment of anyone with an interest in the fascinating world of mathematics.“

Ich habe mich entschieden, die Programme in Java zu schreiben und habe dafür gleich einmal ein kleines Setup an Klassen gebastelt, die mir ein paar Helfer bieten und z.B. die Zeitmessung für die Lösung eines Problemes übernehmen.

Die ersten zehn Probleme habe ich nun schon gelöst und damit immerhin die ersten beiden Badges „Baby Steps“ (Löse 3 Probleme) und „Decathlete“ (Löse 10 aufeinander folgende Probleme) erreicht! 🙂 Wenn auch ihr Spaß an Fragen habt, wie

solltet ihr hier unbedingt mitmachen. Gern gebe ich euch meinen „Freundschaftsschlüssel“, so dass wir immer sehen, wo jeder so steht. Meinen aktuellen Stand seht ihr nun immer oben rechts hier im Blog…

Frohes Fest!

Mit dieser kleinen Animation (die aktiviertes Java benötigt) wünsche ich uns allen besinnliche Feiertage im Kreise unserer Lieben und einen guten Rutsch in ein neues erfolgreiches Jahr!

Da mir eine Flash-Animation natürlich viel zu einfach für ein bisschen Schneefall erschien, habe ich mich schon vor einem Jahr an die Entwicklung dieses Applets gemacht. Leider hatte ich da einen Denkfehler bei der Steuerung der einzelnen Schneeflocken, die jeweils durch einen eigenen Thread vertreten sind, so dass ich erst diesen Winter zur Vervollständigung kam.
Die kompletten JavaDocs des Projekts können wie immer unter http://dev.nidanet.de/doc eingesehen werden. Wenn die vielen Prozesse – es sollten nie mehr als 250 werden – dem Prozessor zu viel Stress bereiten, kann man den Schneefall hier STOPPEN und danach auch jederzeit wieder STARTEN!

Google App Engine – Uptime Application

Google App EngineUnter dem Slogan „Run your web apps on Google’s infrastructure.“ bietet Google die Möglichkeit eigene Applikationen auf seinen Servern laufen zu lassen. Aktuell werden Java und Phyton durch ein eigenes Software Development Kit (SDK) unterstützt. Dazu gibt es auch noch ein Plugin für Eclipse, was die Arbeit sehr erleichtert. Die Anwendungen können direkt aus dem Eclipse an Google übertragen und dort per Weboberfläche verwaltet werden. Aktuell kann man kostenlos bis zu neun Applikationen laufen lassen. Die weiteren Einschränkungen für die kostenlose Nutzung sind auch sehr locker…

Ich habe einfach mal ein kleines Servlet geschrieben, das lediglich ausgibt, wie lange es bereits läuft. Es kann unter http://uptime-nida.appspot.com/uptime direkt auf gerufen werden. Den Source Code und die Javadocs gibt es unter http://dev.nidanet.de/doc. Mal schauen schauen, was man da noch alles so machen kann…