diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-16 11:47:49 +0100 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2014-11-16 11:47:49 +0100 |
| commit | 0b39ce96668d7e00aceb40994b1995cdfc33704d (patch) | |
| tree | 32cd0ce78d8b063ceb530b2f382df05a06ef7a37 | |
| parent | f7ebc162b5be420ffcc2f78046df1aaf8f69f94a (diff) | |
| download | bwinf-33-0b39ce96668d7e00aceb40994b1995cdfc33704d.tar.gz bwinf-33-0b39ce96668d7e00aceb40994b1995cdfc33704d.zip | |
Geschafft. Lösung Buffetlotterie
| -rwxr-xr-x | buffet_lotterie2.py | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/buffet_lotterie2.py b/buffet_lotterie2.py index d5363a1..82a8d75 100755 --- a/buffet_lotterie2.py +++ b/buffet_lotterie2.py @@ -2,31 +2,25 @@ from math import floor -Anzahl_teilnehmer = 28 +Anzahl_teilnehmer = 6 Silben = ['In', 'for', 'ma', 'tik', 'kann', 'uns', 'wei', 'sen', 'wer', 'als', 'Nächs', 'ter', 'kommt', 'zum', 'Spei', 'sen'] teilnehmer = Anzahl_teilnehmer fehlt_noch = float("inf") -runden = 0 # DEBUG einfluss = 0 offset = 0 while fehlt_noch > 0: - runden += 1 - e = floor((len(Silben) + offset) / teilnehmer) + 1 # e Runden ist das Geburtstagskind dran, bis einer gehen darf - offset = (((len(Silben) + offset) % (teilnehmer)) - 1) % teilnehmer # nach e Runden fängt Teilnehmer Nummer `offset` an, 0 ist das Geburtstagskind + e = floor((len(Silben) + offset) / teilnehmer) # e Runden ist das Geburtstagskind dran, bis einer gehen darf + offset = ((len(Silben) + offset - 1) % teilnehmer) % (teilnehmer - 1) # nach e Runden fängt Teilnehmer Nummer `offset` an, 0 ist das Geburtstagskind einfluss += e # Geburtstagskind kann insgesamt `e`-mal dem Essen näher kommen - fehlt_noch = offset # um jetzt dran sein zu müssen, hätte das Geburtstagskind `fehlt_noch`-mal zwei Silben sagen müssen + fehlt_noch = (offset - 1) % (teilnehmer - 1) + 1 # um jetzt dran sein zu müssen, hätte das Geburtstagskind `fehlt_noch`-mal zwei Silben sagen müssen - print("Nach " + str(e) + " Runden fängt der " + str(offset + 1) + ". an") + print("Nach " + str(e) + " Runden fängt der " + str(offset + 1) + ". an. Es sind dann noch " + str(teilnehmer - 1) + " Teilnehmer im Spiel.") if e > 0: # falls das Geburtstagskind dran kam print("Es fehlten " + str(fehlt_noch) + " bis zum Geburtstagskind") if fehlt_noch < einfluss: - print("Das Geburtstagskind muss erst " + str(fehlt_noch) + "-mal zwei Silben und dann " + str(einfluss - fehlt_noch) + "-mal eine Silbe sagen, bis es dran ist.") + print("Das Geburtstagskind muss erst " + str(fehlt_noch) + "-mal 'zwei Silben' und dann nur noch 'eine Silbe' sagen, bis es dran ist.") break teilnehmer -= 1 # einer geht - -print(runden) - -# Das Geburtstagskind kommt nach `j` Runden `einfluss`-mal dran |
