Es gibt hier einige Fragesteller im Forum deren Lösung hierfür ich gerne einmal sehen würde. Ich erwarte da einen Wust von Schleifen und if-Kaskaden.Defnull hat geschrieben:Klingt interessant, aber die Aufgabe da ist ja fast schon eine Beleidigung
Diskussion zum kleinen Test von IT-Teamplayer
@Defnull: Du findest die erste Aufgabe von Project Euler fast beleidigend?
Wer weiss wie viele Leute da in Python einfach die ”naive” Lösung implementieren, einfach weil es schnell genug ist, als das man sich Gedanken um eine effizientere Lösung macht, oder gar um eine, die beliebig skaliert.
Meine total naive Lösung in Commodore BASIC V2 hat 21 Sekunden gebraucht. Da überlegt man natürlich schon, ob das nicht besser geht. Effizienter ging es dann in 2 Sekunden. Und dann gibt es noch die Lösung, die nur einen Bruchteil einer Sekunde braucht und die gut skaliert. Die fällt dann aber schon in die Kategorie „Entweder man weiss die Lösung schon, oder es ist doch schon etwas anspruchsvoller”.
Wer weiss wie viele Leute da in Python einfach die ”naive” Lösung implementieren, einfach weil es schnell genug ist, als das man sich Gedanken um eine effizientere Lösung macht, oder gar um eine, die beliebig skaliert.
Meine total naive Lösung in Commodore BASIC V2 hat 21 Sekunden gebraucht. Da überlegt man natürlich schon, ob das nicht besser geht. Effizienter ging es dann in 2 Sekunden. Und dann gibt es noch die Lösung, die nur einen Bruchteil einer Sekunde braucht und die gut skaliert. Die fällt dann aber schon in die Kategorie „Entweder man weiss die Lösung schon, oder es ist doch schon etwas anspruchsvoller”.
Da schließe ich mich an. Allerdings ohne print und ohne es als Funktion zu definieren.EyDu hat geschrieben:Da es am Ende wahrscheinlich eh darauf hinaus läuft, werfe ich einfach mal "39" für die triviale Lösung in den Raum.
Zahl der Sekunden für einen Aufruf einer Pythonimplementation? Vielleicht sollte man die Variante "professional procrastination" nennen? SCNRfrabron hat geschrieben:Ts, unter 54 komme ich nicht ...
Ohne Funktion und Skalierbarkeit komme ich auch auf 38 mit den beiden Bedingungen komme ich einfach nicht unter 82. (Ohne die Funktion aufzurufen aber mit den Standardparametern ohne diesen sind es 72)
Edit: Ohne Aufruf der Funktion und ohne Standardparameter bin ich jetzt bei 67, als lambda-Ausdruck wären das dann nur noch 60 + 2 für die Zuweisung.
Edit: Ohne Aufruf der Funktion und ohne Standardparameter bin ich jetzt bei 67, als lambda-Ausdruck wären das dann nur noch 60 + 2 für die Zuweisung.
Jetzt bin ich verunsichert: Wir reden über die Dauer in Sekunden für Aufruf einer Funktion und Ausgabe des Ergebnisses für die Implementation der oben gestellte Aufgabe in Python?
Ich will jetzt kein Spielverderber sein und poste daher weder Code, noch Ergebnis, noch Zeit (und natürlich ist die Zeit auch rechnerabhängig).
Ich will jetzt kein Spielverderber sein und poste daher weder Code, noch Ergebnis, noch Zeit (und natürlich ist die Zeit auch rechnerabhängig).
Nein, das was EyDu oben meinte mit, auf was es am Ende sowieso hinausläuft, ist das Zeichen zählen. Also wer den kürzesten Quellcode schreibt - suche mal nach japanischer Flagge.
- Damaskus
- Administrator
- Beiträge: 995
- Registriert: Sonntag 6. März 2005, 20:08
- Wohnort: Schwabenländle
Nee, nicht ganz sondern über die Anzahl der verschachtelten if Schleifen (73 auf einem Toshiba Tecra M5 mit Win32 und Wordpad )CM hat geschrieben:Jetzt bin ich verunsichert: Wir reden über die Dauer in Sekunden für Aufruf einer Funktion und Ausgabe des Ergebnisses für die Implementation der oben gestellte Aufgabe in Python?
Wenn ich Zeit setz ich mich mal heut Abend hin und schau wie eine Lösung nur mit if Schleifen aus sieht./me hat geschrieben:Ich erwarte da einen Wust von Schleifen und if-Kaskaden.
Gruß
Damaskus
Danke. Na dann ...
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
So erheiternd das golfen auch immer ist, denkt ihr nicht, dass das ein wenig unfair gegenüber dem OP ist?
@Mods: Trennt das doch bitte ab.
@Mods: Trennt das doch bitte ab.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Also ich komme ohne Funktion, also mit direkter Ausgabe des Ergebnisses auf 12. Oder zählt das als geschummelt.
Du hast doch nur kein Programm hinbekommen und es per Hand ausgerechnet. Wahrscheinlich hast du den ganzen Nachmittag dafür gebraucht und konntest daher vorher nicht antwortenBlackJack hat geschrieben:Also ich komme ohne Funktion, also mit direkter Ausgabe des Ergebnisses auf 12. Oder zählt das als geschummelt.
Das Leben ist wie ein Tennisball.
@EyDu: Mist, ich dachte es fällt niemandem auf, dass ich mit diesen ``if``-Schleifen nicht klar komme.
Ich habe es nur so zum Spass mal eben von Hand mit Stift und Papier ausgerechnet — den Rechenweg hatte ich in Form des BASIC-Programms hier ja schon vorliegen. So lange dauert das auch wieder nicht.
Ich habe es nur so zum Spass mal eben von Hand mit Stift und Papier ausgerechnet — den Rechenweg hatte ich in Form des BASIC-Programms hier ja schon vorliegen. So lange dauert das auch wieder nicht.