summaryrefslogtreecommitdiff
path: root/buffet_lotterie.py
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2014-11-23 12:18:04 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2014-11-23 12:18:04 +0100
commit5d3189d7345dd3b26a5753a16020ed4f7df0c4b1 (patch)
tree8b260aa3116d6a2cdf58950e332726a3678754d3 /buffet_lotterie.py
parentc8aa48924b284512075432b042ca15c31394ed14 (diff)
downloadbwinf-33-5d3189d7345dd3b26a5753a16020ed4f7df0c4b1.tar.gz
bwinf-33-5d3189d7345dd3b26a5753a16020ed4f7df0c4b1.zip
Verschieben aller Dateien in Unterordner
Diffstat (limited to 'buffet_lotterie.py')
-rwxr-xr-xbuffet_lotterie.py46
1 files changed, 0 insertions, 46 deletions
diff --git a/buffet_lotterie.py b/buffet_lotterie.py
deleted file mode 100755
index 82a7796..0000000
--- a/buffet_lotterie.py
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-# getestet mit Python 2.7.8 und 3.4.2
-'''Findet die optimale Lösung für die Buffet-Lotterie'''
-
-from math import floor
-
-ANZAHL_TEILNEHMER = 6
-SILBEN = ['In', 'for', 'ma', 'tik', 'kann', 'uns', 'wei', 'sen', 'wer', 'als', \
- 'Nächs', 'ter', 'kommt', 'zum', 'Spei', 'sen']
-
-def denke(anzahl_teilnehmer, silben):
- '''Findet die optimale Lösung für die Buffet-Lotterie'''
- teilnehmer = anzahl_teilnehmer
- fehlt_noch = float("inf")
- einfluss = 0
- offset = 0
- while fehlt_noch > 0:
- runden = floor((len(silben) + offset) / teilnehmer)
- # runden Runden ist das Geburtstagskind dran, bis einer gehen darf
-
- offset = ((len(silben) + offset - 1) % teilnehmer) % (teilnehmer - 1)
- # nach runden Runden fängt Teilnehmer Nummer `offset` an,
- # 0 ist das Geburtstagskind
-
- einfluss += runden
- # Geburtstagskind kann insgesamt `runden`-mal dem Essen näher kommen
- 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(runden) + " Runden fängt der " + str(offset + 1) + \
- ". an. Es sind dann noch " + str(teilnehmer - 1) + \
- " Teilnehmer im Spiel.")
- if runden > 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 nur noch 'eine Silbe'" + \
- "sagen, bis es dran ist.")
- break
-
- teilnehmer -= 1 # einer geht
-
-if __name__ == "__main__":
- denke(ANZAHL_TEILNEHMER, SILBEN)