PyLotto

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Crackus
User
Beiträge: 24
Registriert: Donnerstag 19. Februar 2009, 09:59

Dienstag 24. Februar 2009, 18:25

Ich habe mich (außerschulisch) damit befasst wie warscheinlich es ist einen sechser im Lotto zu haben (ca. 1/14.000.000)
ich habe ein programm geschrieben was mit den Zahlen 1,2,3,4,5,6 spielt
und jedes mal wenn man einen sechser hat die anzahl der dafürbenötigten versuche und einen hashwert (um schummeln zu vermeiden) ausgibt
um es interressant zu machen ein wettstreit wer schafft es mit den wenigsten versuchen einen sechser hinzukriegen???
einfach versuche und hash hier reinschreiben ich überprüfe ob die Zahl mit dem haswert zusammen passen und fertig
das programm gibt es hier : http://rapidshare.com/files/202043353/PyLotto.rar.html

dann viel spass^^
mein rekord liegt bei 1.9mio^^
Bisschen doof gemacht also man sieht nicht das das programm arbeitet^^
man wird es allerdings in der Systemüberwachung sehen
Zuletzt geändert von Crackus am Dienstag 24. Februar 2009, 21:26, insgesamt 1-mal geändert.
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Dienstag 24. Februar 2009, 21:08

Ich bin durchaus ineressiert, an dem was Leute hier so vorstellen. Mit Deinem Sammelsurium an *.so Files kann ich leider erst mal nichts anfangen. Vielleicht hast Du noch n'bisschen mehr zu bieten?
Crackus
User
Beiträge: 24
Registriert: Donnerstag 19. Februar 2009, 09:59

Dienstag 24. Februar 2009, 21:21

einfach die Datei LottoDauer(.exe??) starten^^
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dienstag 24. Februar 2009, 21:35

Wie wärs, wenn du statt Kompilatem mal den Source anbietest? Vor allem kommt man dann auch mit einer Pastebin (http://paste.pocoo.org/) aus und brauch keinen schrottigen Hoster. Noch dazu ist der Anteil der Nutzer alternativer Betriebssysteme im Forum sehr hoch (ich würde sogar sagen der Großteil der Leute, die dir nützliche Tipps geben könnten)
Crackus
User
Beiträge: 24
Registriert: Donnerstag 19. Februar 2009, 09:59

Dienstag 24. Februar 2009, 21:45

ich habe ya ein salt in die md5 dazugegeben a) um einen sicheren "Wettbewerb" zu geährleisten und b) damit ich auch richtige ergebnisse bekomme

ich stelle mall die source ohne salt rein
es gibt auch noch ein par kleinigkeiten die nicht ganz hübsch aussehen die ich so kaschieren kann^^

Edit : http://paste.pocoo.org/show/105246/
das is echt praktisch^^
BlackJack

Dienstag 24. Februar 2009, 22:19

@Crackus: Also bei 6 aus 49 liegen die Chancen auf sechs Richtige bei 1/10.068.347.520 und nicht bei 1/14.000.000 -- pass also auf, dass Dein Mathelehrer hier nicht mitliest. ;-)

Edit: Habe gerade in den Quelltext geschaut: Du solltest hoffen, dass Dein Informatiklehrer auch nicht hier mitliest. :shock:
Zuletzt geändert von BlackJack am Dienstag 24. Februar 2009, 22:28, insgesamt 1-mal geändert.
Benutzeravatar
cofi
Moderator
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dienstag 24. Februar 2009, 22:24

Puh ... ich glaub ich gönn mir erstmal einen Schnaps bevor ich den Code nochmal anschaue ;)
Meine Kristallkugel sagt mir, dass das in weit unter 50 Zeilen geht. (Vielleicht wollen die Golfer aus dem andern Thread dazukommen? :twisted:)
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Dienstag 24. Februar 2009, 22:27

Wenn ich mich zurückerinnere ware die Chance "49 über 6" was genau 13983816 ist?
BlackJack

Dienstag 24. Februar 2009, 22:31

@hendrikS: Kann sein, dass ich heute schon zu müde bin, aber für die erste Kugel hat man 49 Möglichkeiten, für die zweite bleiben noch 48, für die dritte 47, und so weiter. Das bringt mich zu:

Code: Alles auswählen

In [290]: 49*48*47*46*45*44
Out[290]: 10068347520L
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Dienstag 24. Februar 2009, 22:38

Ja, es geht aber um die Anzahl möglicher Kombinationen und die ist eben 49 über 6. Und die Wahrscheinlichkeit für jede Kombination ist gleich hoch. Also der Mathe Lehrer hat schon recht.

@Crackus. Schreib doch mal ein Programm für 49 über 6. Schöne Übung.

@Cofi: Apropos Golf: Postings für n über k kleiner 54 Bytes sind natürlich wilkommen :)
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Dienstag 24. Februar 2009, 23:03

So habe ich das mal in der Schule gelernt:

Code: Alles auswählen

>>> from __future__ import division
>>> (1/49) * (1/48) * (1/47) * (1/46) * (1/45) * (1/44)
9.9321164472479387e-11
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Dienstag 24. Februar 2009, 23:11

derdon hat geschrieben:So habe ich das mal in der Schule gelernt:

Code: Alles auswählen

>>> from __future__ import division
>>> (1/49) * (1/48) * (1/47) * (1/46) * (1/45) * (1/44)
9.9321164472479387e-11
Ich weiß leider nicht, was das für eine Schule ist oder war oder was Du für eine Schulbildung hast, aber das ist schlicht und einfach Käse. Der mathematische Hintergrund steht in meinem posting darüber.
Also ich kann mir beim besten Willen nicht vorstellen, daß Dir das ein Mathematiker beigebracht haben soll.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Dienstag 24. Februar 2009, 23:19

BlackJack hat geschrieben:@hendrikS: Kann sein, dass ich heute schon zu müde bin, aber für die erste Kugel hat man 49 Möglichkeiten, für die zweite bleiben noch 48, für die dritte 47, und so weiter. Das bringt mich zu:

Code: Alles auswählen

In [290]: 49*48*47*46*45*44
Out[290]: 10068347520L
Das, was an dieser Überlegung falsch ist - du berücksichtigst die Reihenfolge. In deinem Beispiel sind die Zahlen 1 2 3 4 5 6 andere als 1 3 2 4 5 6.

Beim Lotto aber nicht, deswegen brauchen wir diesen Binominialkoeffizenten, oder wie man's schreibt.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Dienstag 24. Februar 2009, 23:24

Stimmt, ein kleiner Fehler ist mir unterlaufen. Hier die korrigierte Version:

Code: Alles auswählen

>>> from __future__ import division
>>> (6/49) * (5/48) * (4/47) * (3/46) * (2/45) * (1/44)
7.1511238420185173e-08
Wenn man das erste Kreuz macht, ist die Wahrscheinlichkeit, eine richtige Zahl zu treffen, 6:49 (logisch). Anschließend sind nur noch 48 Zahlen zum Ankreuzen da, weil man schon eines gemacht hat usw.. Aufgrund der Pfadregel werden die Quotienten miteinander multipliziert.
Panke
User
Beiträge: 185
Registriert: Sonntag 18. März 2007, 19:26

Dienstag 24. Februar 2009, 23:38

Immernoch Käse.
Siehe hier

Interessant sind hier die Folien 5 und 6.
Wie BlackVivi schon sagte, gibt es (n über k) Teilmengen der Mächtigkeit k einer Menge der Mächtigkeit n. Genau eine Teilmenge führt aber zu 6 richtigen, also ist die Wahrscheinlichkeit 1 / (49 über 6).
Antworten